台灣最大程式設計社群網站
線上人數
2118
 
會員總數:246502
討論主題:190009
歡迎您免費加入會員
討論區列表 >> ACCESS >> 請問如何在Access 裡面Key入日期後"出貨單號"欄位自動帶出日期+流水號
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問如何在Access 裡面Key入日期後"出貨單號"欄位自動帶出日期+流水號
價值 : 10 QP  點閱數:3548 回應數:8
樓主

tammy
門外漢
0 1
12 3
發送站內信

請問如何在Access 2007表單裡面Key入日期後, 另一欄位"出貨單號" 自動帶出日期+流水號

出貨單號欄位格式為:
201201310001
201201310002

隔天不需跳一號, 隔天出貨單號格式為:
201202010003
201202010004
...

請問這在Access 2007 裡面怎麼設定??? 謝謝

搜尋相關Tags的文章: [ 日期+流水號 ] ,
本篇文章發表於2012-01-31 15:18
1樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
Private Sub 出貨日期_AfterUpdate()
1001 Z = DMax("出貨單號", "出貨資料表")
1002 If IsNull(Z) = False Then '若出貨單號之最大值有記錄
1003 Me![出貨單號] = Format(Me![出貨日期], "yyyymmdd") & Format(CStr(Val(Right(Z, 4) + 1)), "0000") '加1後顯示
1004 Else '若出貨單號之最大值沒有記錄
1005 Me![出貨單號] = Format(Me![出貨日期], "yyyymmdd") & "0001" '顯示0001
1006 End If
End Sub
本篇文章回覆於2012-01-31 16:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

丫瑋
檢舉此回應
Private Sub 出貨日期_AfterUpdate()
1001 Z = DMax("出貨單號", "出貨資料表")
1002 If IsNull(Z) = False Then '若出貨單號之最大值有記錄
1003 Me![出貨單號] = Format(Me![出貨日期], "yyyymmdd") & Format(CStr(Val(Right(Z, 4) + 1)), "0000") '加1後顯示
1004 Else '若出貨單號之最大值沒有記錄
1005 Me![出貨單號] = Format(Me![出貨日期], "yyyymmdd") & "0001" '顯示0001
1006 End If
End Sub
請問如果隔天新增單號要從yyyymmdd0001開始要怎麼做
本篇文章回覆於2021-03-27 17:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
程式碼缺日期做篩選條件
請把
1001 Z = DMax("出貨單號", "出貨資料表")
改為
1001 Z = DMax("出貨單號", "出貨資料表", "出貨日期 =#" & Me![出貨日期] & "#")
本篇文章回覆於2021-03-28 16:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Mocimoci
檢舉此回應
我希望出貨編號帶入的日期是民國的,所以把程式碼改成這樣:
Private Sub 出貨日期_AfterUpdate()
1001 Z = DMax("出貨單號", "出貨資料表", "出貨日期 =#" & Me![出貨日期] & "#")
1002 If IsNull(Z) = False Then
1003 Me![出貨單號] = Format(Me![出貨日期], "emmdd") & Format(CStr(Val(Right(Z, 4) + 1)), "000") '加1後顯示
1004 Else
1005 Me![出貨單號] = Format(Me![出貨日期], "emmdd") & "001"
1006 End If
End Sub
結果出貨日期顯示為民國格式,但出貨單號卻顯示西元的,可以幫我看看怎麼會這樣嗎?
麻煩大大了∼謝謝!
本篇文章回覆於2021-09-06 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
改成這樣看看,減去西元與民國的差距數字
1003 Me![出貨單號] = Format(Me![出貨日期]- 19110000, "emmdd") & Format(CStr(Val(Right(Z, 4) + 1)), "000") '加1後顯示
1004 Else
1005 Me![出貨單號] = Format(Me![出貨日期]- 19110000, "emmdd") & "001"
本篇文章回覆於2021-09-06 21:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Mocimoci
檢舉此回應
感謝tungta的回覆~

我嘗試了你所提供的方法,結果顯示溢位錯誤
不過使用了你的想法改寫了一下,就成功了,以下提供參考
1003 Me![出貨單號] = FoFormat(Year(Me![出貨日期]) - 1911, "000") & Format(Me![出貨日期], "mmdd") & Format(CStr(Val(Right(Z, 3) + 1)), "000")
1004 Else
1005 Me![出貨單號] = Format(Year(Me![出貨日期]) - 1911, "000") & Format(Me![出貨日期], "mmdd") & "001"

非常謝謝你提供的靈感!!!
本篇文章回覆於2021-09-07 21:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Mocimoci
檢舉此回應
不好意思~
我想再做出另一種編號
一樣是日期+流水號,但流水號不是每天重001開始,而是每月重001開始
像是:
1100801001
1100801002
1100802003
1100803004
.
.
.
1100901001
這種要怎麼做出來呀?
本篇文章回覆於2021-09-08 13:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

tungta
捐贈 VP 給 tungta 檢舉此回應
改這樣看看
1003 Me![出貨單號] = Format(Year(Me![出貨日期]) - 1911, "000") & Format(Me![出貨日期], "mm") & Format(Me![出貨日期], "dd") & Format(CStr(Val(Right(Z, 3) + 1)), "000")
1004 Else
1005 Me![出貨單號] = Format(Year(Me![出貨日期]) - 1911, "000") & Format(Me![出貨日期], "mm") & Format(Me![出貨日期], "dd") & "001"
本篇文章回覆於2021-09-08 17:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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