0

我正在处理一个包含 6 个字段的表单,并且必须在提交表单并创建新记录之前填写所有字段。我没有加载每个字段硬编码以显示为空白的表单,而是使用:

Private Sub Form_Load()

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

End Sub

这会开始新记录,但是当用户在未完成表单的情况下关闭时,它会创建不完整的记录并抛出。

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

提前致谢。

4

2 回答 2

3

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

于 2013-01-14T15:21:00.213 回答
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 这样的东西可以在表格设计中设置为默认值,并且您可能为某些适用于所有用户的控件设置了默认值,因此可以在表单设计中设置这些控件。

于 2013-01-14T14:46:03.877 回答