我的目标是让主菜单上的所有命令按钮打开一个表单,直接输入新记录。但是,我已经有一个完美的代码,所以所有表单都打开一个新的条目,我仍然可以导航到以前的条目。除了一个。我对其他代码进行了两次和三次检查,并没有区别。但是出于某种原因,这一形式(我只是将其称为“形式”,用于此问题)打开第一条记录,而不是新记录。下面是我正在使用的代码不起作用(尽管它与我工作的其他代码相同。)
Private Sub Command13_Click()
On Error GoTo Err_Command13_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Form"
DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.GoToRecord , , acNewRec
Exit_Command13_Click:
Exit Sub
Err_Command13_Click:
MsgBox Err.Description
Resume Exit_Command13_Click
End Sub
当然这是一个简单的解决办法,但我不知所措。
答案 0 :(得分:2)
来自 DoCmd.GoToRecord方法帮助主题......
如果您将 objecttype 和 objectname 参数留空( 默认常量, acActiveDataObject ,假设 objecttype ), 假定活动对象。
通常DoCmd.OpenForm stDocName
应该使stDocName
成为活动对象,这意味着应该对该表单应用GoToRecord
。而且你表示你的其他形式会发生什么。
但是,由于在这种情况下它不起作用,因此为 objecttype 和 objectname 参数提供GoToRecord
值:
DoCmd.OpenForm stDocName, , , stLinkCriteria
'DoCmd.GoToRecord , , acNewRec
DoCmd.GoToRecord acDataForm, stDocName, acNewRec
令人费解的一点是stLinkCriteria
是一个空字符串。因此,当您致电OpenForm
时,包含该内容似乎并不有用。但我无法看到这会如何影响GoToRecord
的结果。