台灣最大程式設計社群網站
線上人數
1480
 
會員總數:245151
討論主題:189055
歡迎您免費加入會員
討論區列表 >> ACCESS >> 出貨單單號如何變成前6碼日期+後2碼自動編寫....
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
出貨單單號如何變成前6碼日期+後2碼自動編寫....
價值 : 0 QP  點閱數:60714 回應數:669

樓主

alex
初學者
11 3
28 9
發送站內信

start各位大大好..
我公司的會計系統中有出貨單的項目.其中每天的出貨單單號我現在只能自己輸入..例如..今天是04年9月24日的第一張出貨單...我就慢慢用手打入04092401...如果第二張..就慢慢用手打入04092402..
問題來了...我若離開位置了...或別人接手輸入了...日期的部分還有date()可以看見...但是出貨單打到第幾了...卻沒人知道...
我看過友人的資料庫可以..自動產生當天日期+序號共8碼...
''ACCESS只有內建序號(自動產生)或(=當天日期)...
是否有法子讓表單裡的出貨單號欄位變成自動填入當天日期6碼+自動序號2碼.....謝謝...我找了好多書...也問了很多人...   :(  沒人會..over

本篇文章發表於2004-09-24 15:29
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
16樓
回應

sakura
檢舉此回應
我也需要範例,可否寄給我。謝謝 辛苦您了
本篇文章回覆於2004-10-11 15:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
17樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
範例已寄出
本篇文章回覆於2004-10-11 15:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
18樓
回應

小惟
檢舉此回應
也可以給我範例嗎?謝謝!

可是我的需求有些不同耶!
我是應用在公文上,發文號碼是民國曆930001的編法,我需要後面的0001是自動編號,在94/1/1發的第1封公文是940001,請大大指教一下,謝謝!
本篇文章回覆於2004-10-12 15:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
19樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
TO:小惟
範例檔改一下再寄給你,再確認一次,你是以年開始(不管月份)嗎?
本篇文章回覆於2004-10-12 16:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
20樓
回應

小惟
檢舉此回應
To:tungta 

是的,我是以年份劃分,謝謝你的幫忙!
本篇文章回覆於2004-10-12 17:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
21樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
TO:小惟
範例檔已寄出,若你是用民國的年份建檔,要更改電腦的區域設定
本篇文章回覆於2004-10-12 17:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
22樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
TO:小惟
已再寄給你範例檔
本篇文章回覆於2004-10-14 00:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
23樓
回應

小惟
檢舉此回應
TO :tungta 

謝謝你,我已經收到範例也執行成功了,可是我想再問一個問題可以嗎?
DMax("出貨單號之最大值", "最後出貨單號查詢", "出貨日期1 ='" & Format(Me![出貨日期], "e") & "'") 其中,DMax函數的用法及為何要加上「'」以及為何format函數中的"e"就可以變成取民國年?
Sorry,因為我設計資料庫沒用過VB的程式,所以一知半解,請高人指點,Thanks!!
本篇文章回覆於2004-10-14 09:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
24樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
1.DMax函數傳回符合條件的最大值,括弧後有3個部分,第一個是資料表或查詢的欄位名稱;第二個是資料表或查詢的名稱;第三個是設定的引數(條件)。很多函數的用法都是如此
2.「'」是資料庫用來存字串(資料)用的,在「'」中間要使用控制項的數據就要加上「"」----" & 控制項名稱 & "
3.e代表民國年,e/mm/dd(民國年),yyyy/mm/dd(西元年)
本篇文章回覆於2004-10-14 12:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
25樓
作者回應

alex
檢舉此回應
start各位大大好..
以''當天日期6碼+自動序號2碼''=自動8碼的序號...已經獲的解決了
特別感謝''tungta''大大.......
但我又遇到新的問題.....如下:
[如果我的請款單中的''請款月份''一欄.格式不是日期格式....而是文字格式
也就是說...我每月要請款的時候必須在''請款月份''一欄中輸入
(2004年**月)的文字....才會產生該客戶該月份的請款內容....這時候
以''當天日期6碼+自動序號2碼''=自動8碼的序號的程式便無用了
我希望達成的方式是當我在''請款月份''輸入(2004年10月)的文字時..
能夠在我的第一筆''請款單號''產生200410-01....
---------第二筆''請款單號''產生200410-02...
以此類推...該如何轉換呢....ps*再次強調''請款月份''並非日期格式
希望獲得各位大大...熱烈迴響..謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝...
本篇文章回覆於2004-10-15 15:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
26樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
我比較不建議日期的欄位用文字的類型,因為無法偵測輸入錯誤的日期,例如2004/13,但既然你有這個須要,就寄給你範例。
本篇文章回覆於2004-10-15 18:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
27樓
作者回應

alex
檢舉此回應
tungta大大好..
我收到你的範例了....真是神奇.....再三感謝
但是你的範例出貨日期顯現為[2004/10].....
為了我的客戶識別方便...我必須將[2004/10]..轉換成[2004年10月]
的文字顯示出來....是不是能多加一隻語法
另外我的出貨日期存入資料庫時是以數字/長整數格式存的
也就是我的表單必須輸入顯示[2004年10月]...而儲存資料庫為
200410的數字.......(這牽扯了我相當多的設定與考量...SORRY)
我上一封信忽略了這一點...抱歉....原諒我..無理的要求...
謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝... 
本篇文章回覆於2004-10-15 21:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
28樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
1.如果出貨日期是文字類型,資料表儲存的也要有年月,就把出貨日期的遮罩改為0000\年00\月;0;,vba改為如下: 
1001    Z = DLookup("出貨單號之最大值", "最後出貨單號查詢", "出貨日期 ='" & Me![出貨日期] & "'")
1002 If IsNull(Z) = False Then '若出貨單號之最大值有記錄
1003    Me![出貨單號] = Format([出貨日期], "yyyymm") & "-" & _
        Format(Right(DMax("出貨單號之最大值", "最後出貨單號查詢", "出貨日期 ='" & Me![出貨日期] & "'"), 2) + 1, "00") '加1後顯示
1004 Else '若出貨單號之最大值沒有記錄
1005    Me![出貨單號] = Format([出貨日期], "yyyymm") & "-" & "01" '顯示01
1006 End If

2.如果出貨日期是文字類型,資料表儲存的不要有年月,就把出貨日期的遮罩改為0000\年00\月,vba改為如下:
1001    Z = DLookup("出貨單號之最大值", "最後出貨單號查詢", "出貨日期 ='" & Me![出貨日期] & "'")
1002 If IsNull(Z) = False Then '若出貨單號之最大值有記錄
1003    Me![出貨單號] = Format([出貨日期], "######") & "-" & _
        Format(Right(DMax("出貨單號之最大值", "最後出貨單號查詢", "出貨日期 ='" & Me![出貨日期] & "'"), 2) + 1, "00") '加1後顯示
1004 Else '若出貨單號之最大值沒有記錄
1005    Me![出貨單號] = Format([出貨日期], "######") & "-" & "01" '顯示01
1006 End If

3.如果出貨日期是數字長整數,資料表儲存的當然不能有年月,就把出貨日期的遮罩改為0000\年00\月,vba改為如下:
1001    Z = DLookup("出貨單號之最大值", "最後出貨單號查詢", "出貨日期 =" & Me![出貨日期])
1002 If IsNull(Z) = False Then '若出貨單號之最大值有記錄
1003    Me![出貨單號] = Format([出貨日期], "######") & "-" & _
        Format(Right(DMax("出貨單號之最大值", "最後出貨單號查詢", "出貨日期 =" & Me![出貨日期]), 2) + 1, "00")  '加1後顯示
1004 Else '若出貨單號之最大值沒有記錄
1005    Me![出貨單號] = Format([出貨日期], "######") & "-" & "01" '顯示01
1006 End If
本篇文章回覆於2004-10-16 03:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
29樓
回應

alex
檢舉此回應
tungta大大好..
我收到你的範例了...幾經測試後終於完成了....
我只能對你表達由衷的感謝.....
多謝你的不厭其煩.....有空來台中我請你吃飯...
本篇文章回覆於2004-10-16 11:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
30樓
回應

Liuyang
檢舉此回應
tungta大大好..
可不可也寄個範例給我(mdb檔)
多謝你.......
本篇文章回覆於2004-10-18 00:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.