0

我正在 ms 访问中创建一个新数据库。我已经创建了所有表单。

如何设置我的表单和按钮,以便仅在填写所有表单中的必填字段时才将新记录添加到各自的表中?

我有 8 个表格供用户为每个“客户”填写。任何帮助是极大的赞赏。

谢谢

4

1 回答 1

0

如果您单击一个按钮来提交表单,您可以On Click为该按钮设置一个事件,该事件将运行以下代码:

Private Sub button_Click()

if ([field1].Value = "" or isnull([field1].value)) Then
    MsgBox "Fill out all the required fields before submitting"
    End
else 
    'Submit record using DoCmd.RunSQL "INSERT INTO....."
End If

End Sub

有一个 if 语句链来检查您要填写的所有字段。

如果你真的想要一串表单,它们可以相互打开,然后最后一起提交所有表单,试试这个:

使用On Click第一个表单中的按钮事件,打开下一个表单,然后运行宏/代码以提交记录。在下一个表格中做同样的事情。基本上这会一直添加到堆栈中,当最后一个表单被调用并提交记录时,它完成了On Click事件并且代码返回到之前的表单。之前的表单将移动到下一行代码,即提交记录,然后该代码完成并发生同样的事情。这是一个小伪代码:

在表格 1 上:

Private Sub button_Click()

DoCmd.OpenForm 'enter parameters to open next form here
'Code to submit record
'DoCmd.CloseForm 'form name

End Sub

在表格 2、表格 3 上,依此类推:

Private Sub button_Click()

DoCmd.OpenForm 'enter parameters to open nextform here
'Code to submit record
'DoCmd.CloseForm 'form name

End Sub

确保在使用 DoCmd.openForm 暂停代码时使用参数 acDialog。您必须在之后关闭表单才能跳回之前的代码。我在上面的代码中添加了更多内容。单击此链接以获取有关暂停代码的更多信息http://www.pcreview.co.uk/threads/pause-code-while-waiting-for-a-popup-form-to-close.1155074/

于 2016-08-17T13:17:21.010 回答