-3

我正在使用 Microsoft 访问,我想做出一个基本上可以执行的 if 语句:

如果搜索条件全部为空,则打开一个消息框,上面写着“我写的东西”和一个确定按钮。好的会让你回到搜索而不是运行查询。

我的问题是,如果所有搜索条件都留空并且有人点击搜索,它将导致访问崩溃。所以我想做一些事情来阻止某人在空白中运行查询。我正在使用具有 6 个不同标准的表单,称为标准、Duds、ID、Desc1、Desc2 和 Excel。

只是为了让每个人都知道,在编码和东西方面我很愚蠢,所以如果你能以一种 4 岁的孩子可以理解的方式拼写出来,那就太好了。

我想要这样的东西:

如果[Forms]![Search]![Standards]AND[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 是用户并在表单中写入的文本框之后读取 [Standards] 和 [CADID] 的位置。让我知道您需要多少详细信息。

4

1 回答 1

1

不确定您的搜索代码是什么,但这里有一个可以使用的模板。将它放在执行搜索的按钮的 On-click 事件中,并确保添加执行搜索的任何代码来代替我在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
于 2015-05-19T15:00:39.403 回答