我正在使用Microsoft访问权限,我想制作一个基本上做的if语句:
如果搜索条件全部为空白,则打开一个消息框,显示“我写的东西”和一个确定按钮。 ok会让你回到搜索,而不是运行查询。
我的问题是,如果所有搜索条件都留空并且有人点击搜索,则会崩溃访问。所以我想制作一些能阻止某人在空白中运行查询的东西。我使用的表单有6个不同的标准,分别是Standards,Duds,ID,Desc1,Desc2和Excel。
只是为了让每个人都知道,在编码和编写内容时我非常愚蠢,所以如果你能以一种4岁的方式拼出它就会明白它会很棒。
我想要的内容如下:
如果[Forms]![Search]![Standards]
和[Forms]![Search]![CADID]
为空,则
MsgBox("You cant do this")
- 然后这会将您发回表格
ElseIf
正常运行查询。
目前我的代码看起来有点像:
SELECT DISTINCT Standards.Name, Standards.[Catalog Id]
, - 然后是一堆其他表及其各自的列
WHERE(((Standards.Name)Like"*"& [Forms]![Search]![Standards] & "*") AND ((Standards.[Catalog ID]) Like "*" & [Forms]![Search]![CADID] & "*"));
我不知道为什么它会在那里结束。在WHERE是文本框之后读取[标准]和[CADID]并在表单中写入。我知道你需要多少细节。
答案 0 :(得分:1)
不确定您的搜索代码是什么,但这是一个可以使用的模板。将其放在执行搜索的按钮的点击事件中,并确保添加执行搜索的任何代码,而不是我在下面If
语句的else部分留下的评论。
If _
(IsNull([Forms]![Search]![Standards]) Or _
[Forms]![Search]![Standards] = "") And _
(IsNull([Forms]![Search]![CADID]) Or _
[Forms]![Search]![CADID]) = "" _
Then
MsgBox "Please complete both Standards and CADID fields before searching", vbCritical Or vbOKOnly, "Search Error"
Else
' your search code here
End If