我正在处理一个包含6个字段的表单,并且必须在提交表单并创建新记录之前填写所有字段。我使用了:
,而不是加载一个表格,每个字段都硬编码以显示空白Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
Me.Username = CreateObject("WScript.Network").Username
End Sub
这会开始新记录,但是当用户关闭但没有完成表单时,它会创建一个不完整的记录并抛出。
如果用户使用不完整的表单关闭,如何删除该行?或者我应该只在用户提交并且所有字段都符合条件时创建新记录?这里的最佳做法是什么?
提前致谢。
答案 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这样的东西可以设置为表格设计中的默认值,并且您可能有一些适用于所有用户的控件的默认值,因此可以在表单中设置这些值设计。