當我將訪問窗體ActivityTracker打開到新記錄時,我希望它使用當前時間now()自動填充字段* start_time *。無法使用新記錄設置Access窗體中的字段值
Private Sub Form_Open(Cancel As Integer)
If IsNull(Form_ActivityEntry.Start_time) And IsNull(Form_ActivityEntry.id) Then
Form_ActivityEntry.Start_time = Now()
End If
End Sub
這會引發錯誤「您無法爲此對象賦值」並停止執行。
我可以明確地去一個新的紀錄由
Private Sub Form_Open(Cancel As Integer)
If IsNull(Form_ActivityEntry.Start_time) And IsNull(Form_ActivityEntry.id) Then
Me.Recordset.AddNew
Form_ActivityEntry.Start_time = Now()
End If
End Sub
但無論這些原因一個彈出警告
Private Sub Form_Open(Cancel As Integer)
If IsNull(Form_ActivityEntry.Start_time) And IsNull(Form_ActivityEntry.id) Then
DoCmd.RunCommand acCmdRecordsGoToNew
Form_ActivityEntry.Start_time = Now()
End If
End Sub
或修正錯誤,「你不能去到指定的記錄。」
我試圖抑制警告本
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdRecordsGoToNew
DoCmd.SetWarnings True
或通過設置錯誤處理,
On Error GoTo Err_SomeName
,但我仍然得到警告。
AllowAdditions設置爲True。記錄集類型是Dynaset。
否則,一切工作正常,這種形式。
我在做什麼錯?是否有「開放新紀錄」而不是「開放式」的事件?
感謝您的幫助!
荷馬說,「哦!」這太明顯了。 :-)當我創建表單時,我想到了這一點,但選擇不這樣做,因爲我認爲我想讓它啓動。 – MrMoxy 2013-02-15 23:49:51