2012-06-29 19 views
0

我有一個帶有子窗體控件的窗體。主窗體中的字段計算了默認值(1爲= Date(),另一個爲DLast())。人們應該能夠改變這些字段,但在大多數情況下,默認值是正確的,所以用戶可以直接跳到子表單。 子窗體與主窗體中的記錄連接,並且如果用戶未觸摸任何主窗體控件,則它們不能將記錄添加到子窗體。他們被迫重新輸入其中一個主窗體記錄的默認值以便能夠繼續。使用默認的表單值保存記錄

我的想法是把它添加到主窗體模塊:

Private Sub Form_Open(Cancel As Integer) 
    DoCmd.RunCommand acCmdSaveRecord 
End Sub 

應該使用默認值創建一個記錄,如果用戶希望保存或在退出刪除更改我要補充的東西問表格。 但它不起作用。沒有創建記錄,必須「觸摸」默認值才能創建記錄。

P.S.將其更改爲打破格式

回答

0

而不是使用日期的默認值,使用代碼將日期寫入控件。這將強制記錄被創建,只要控件綁定到一個字段。

Private Sub Form_Current() 
    If Me.NewRecord Then 
     Me.ADate = Date 
    End If 
End Sub 
+0

我該怎麼做?當我在Form_Open子文件中使用'[DateField] .Value = Date()'時,我得到「您無法爲此對象賦值」錯誤 –

+0

您不能使用Open事件將值分配給控件, t存在。另外,如果要添加多條記錄或進行編輯,則應該使用當前事件並在添加任何內容之前檢查它是否爲新記錄。你確定沒有用戶需要填寫的控件嗎?因爲這會將所有默認值分配給記錄。 – Fionnuala