VBA if语句在执行SQL之前?

时间:2019-05-21 04:17:06

标签: sql vba ms-access

如何正确地在MS Access VBA中编写if语句,以检查位于表单上的文本框中的值是否等于表列中的记录?

名为FormExample的表单有一个名为TextBoxExample的文本框。该表称为Table1,正在更新的记录为TestTrial,其中NumberValue列与TextBoxExample中的内容匹配。

如果等于则执行以下SQL查询:

UPDATE Table1 SET Table1.TestTrial = "Test11"
WHERE (((Table1.NumberValue)=[Forms]![FormExample]![TextBoxExample]));

如果未显示以下消息:

MsgBox "Sorry" & _
            vbCrLf

1 个答案:

答案 0 :(得分:1)

要检查文本框中的值是否与表中的值相同,请使用DCount()(也可以使用DLookup())。我假设您的文本框值为Double,因为您的值称为NumberValue

Dim textboxValue As Double
Dim lookupValue As Double

textboxValue = Me!TextBoxExample.Value
lookupValue = DCount("TestTrial", "Table1", "NumberValue = " & textboxValue)

If Not lookupValue = 0 Then
  Msgbox "One or more records where found."
Else
  Msgbox "No record was found."
End If