2008-05-02

使用 Access 表單要如何重覆上一筆 key-in 的資料?


問題:


我想做一個表單,欄位有日期、機台、訂位等,想在 key 完一筆資料後,將此筆資料保留至下一筆要新 key 的資料欄位,以避免相同資料重覆 key-in,只需將不同資料欄位輸入即可。

有人建議我用:Me.機台.DefultValue = Me.機台

但是這只能用文字的欄位,日期欄位則不能使用,用了會跳出像是 1900 這樣的年號,請問有沒有其他的好方法?


回答:

你只要在表單的 AfterInsert 事件程序內將你想保留的欄位值儲存在表單層次的變數中,而在 BeforeInsert 事件程序內將變數中的值設定到你要重覆的欄位就可以了。請參考以下的程式碼:

'
表單變數宣告 (配合表單資料欄位型態)
Private OrderDate as Date ' 日期
Private MachID as Integer ' 機台
Private OrderNo as Long ' 訂位號碼

' 存上筆資料作為欄位預設值
Private Sub Form_AfterInsert()
  OrderDate = Me.日期
  MachID = Me.機台
  OrderNo = Me.訂位號碼
End Sub

'
將欄位預設值放入準備 key-in 的新筆資料欄位
Private Sub Form_BeforeInsert()
  Me.日期 = OrderDate
  Me.機台 = MachID
  Me.訂位號碼 = OrderNo
End Sub

沒有留言: