1

所以,我有一个表格、2 个表单、一个子表单、2 个按钮和一堆文本框。有了这些,我制作了一个弹出“添加字段”的按钮,您可以在其中将信息输入文本框中,然后单击添加,然后将其添加到另一个子表单上显示该数据的表中;我有那个工作。如果您将所有字段留空,我不确定如何使其不添加数据(注意;我只希望它是所有字段,如果他们填写一个字段而其余字段为空也可以)。如果所有字段都为空,它会向用户发送一个 msgbox,说请在文本框中填写数据。

我正在寻找该数据库未来部分的另一件事是必填字段。假设有 10 个文本框,在您可以通过表单将数据添加到表格中之前,您必须填写 10 个文本框中的 6 个(标有 * 需要哪些),如果您不需要,给他们一个错误,说请填写[未填写的文本框],然后重试。如果所有 6 个必填字段都填写完毕,那么即使其他 4 个为空或不为空,它也可以将其保存到表中。

这是我在添加按钮中的代码:

    Private Sub CustomerAddBtn_Click()

Dim db As Database
Dim rec As Recordset

Set db = CurrentDb
Set rec = db.OpenRecordset("Select * from CustomersT")

rec.AddNew
rec("CustomerName") = Me.CustomerAddSupplierNameTxt
rec("Address") = Me.CustomerAddAddressTxt
rec("City") = Me.CustomerAddCityTxt
rec("ProvinceState") = Me.CustomerAddProvinceStateTxt
rec("PostalZip") = Me.CustomerAddPostalZipTxt
rec("Phone") = Me.CustomerAddPhoneTxt
rec("Fax") = Me.CustomerAddFaxTxt
rec("CustomerSince") = Me.CustomerAddCustomerSinceTxt
rec("Email") = Me.CustomerAddEmailTxt
rec("Notes") = Me.CustomerAddNotesTxT
rec.Update

Set rec = Nothing
Set db = Nothing

'Send message to user saying it was saved, so they know
Dim intReply As Integer
intReply = MsgBox("Customer has been successfully saved to the database!", vbOKOnly, "Success!")

End Sub

提前致谢。

4

1 回答 1

1

您可以使用 . 检查文本框是否有值IsNull(Me.TextBoxName)。所以,如果你想测试所有的文本框是否都是空的,那么你可以做这样的事情

If IsNull(Me.CustomerAddSupplierNameTxt) _
        And IsNull(Me.CustomerAddAddressTxt) Then
    MsgBox "Please don't try to enter an empty record."
Else
    MsgBox "(user filled in at least one field)", vbInformation, "Debug Message"
    ' your existing database code here
End If

...并且只需扩展初始If语句以包含您要检查的所有控件。

同样,对于必填字段,您可以检查与这些必填字段对应的控件的值,如果有任何一个,则显示类似的消息IsNull()

于 2013-10-29T12:02:45.860 回答