提交表格时VBA访问新记录

时间:2013-01-14 14:11:41

标签: vba access-vba form-submit ms-access-2003

我正在处理一个包含6个字段的表单,并且必须在提交表单并创建新记录之前填写所有字段。我使用了:

,而不是加载一个表格,每个字段都硬编码以显示空白
Private Sub Form_Load()

DoCmd.GoToRecord , , acNewRec
Me.Username = CreateObject("WScript.Network").Username

End Sub

这会开始新记录,但是当用户关闭但没有完成表单时,它会创建一个不完整的记录并抛出。

如果用户使用不完整的表单关闭,如何删除该行?或者我应该只在用户提交并且所有字段都符合条件时创建新记录?这里的最佳做法是什么?

提前致谢。

2 个答案:

答案 0 :(得分:3)

最简单和最有效的选择是在基础表中正确设置字段属性:
- 将Required属性设置为True,
- 而Allow zero length属性为False 无需编程,也适用于您以后构建的其他接口。

答案 1 :(得分:2)

不是设置文本框的内容,而是在加载表单时将默认值设置为相关的用户名。

您可以打开表单,首先添加:

DoCmd.OpenForm "MyForm",,,,acFormAdd

请参阅:http://msdn.microsoft.com/en-us/library/office/ff820845.aspx

然后,您可以为您知道内容的任何控件设置默认值:

Private Sub Form_Load()
    Me.Username.DefaultValue = _
        """" & CreateObject("WScript.Network").Username & """"
End Sub

不要忘记像Date Created这样的东西可以设置为表格设计中的默认值,并且您可能有一些适用于所有用户的控件的默认值,因此可以在表单中设置这些值设计。