1

我是使用 Access 2003 的新手,我有一个绑定到名为 AlphaAcctQ 的查询的表单(它按字母顺序排列表中的帐户名称 - AccountT)。表单上有一个未绑定的列表框,它显示查询中的帐户名称并返回所选帐户的数字 AcctID。

表单上有命令按钮“CreateInv”。单击时,如果在列表框中未选择任何内容,我希望它显示错误消息,但是当我写

Call MsgBox("AcctList.Value = " & AcctList.Value, vbOKOnly)    
    If AcctList.Value = Null Then
    Call MsgBox("You must select an account first.", vbOKOnly)
    'Else
        'If subform returns no values Then
            'Call MsgBox with another error code
        'End If
   'run an append query
    End If

...然后我得到一个框,上面写着“AcctList.Value =”(这是一个向我展示 AcctList 列表框作为值返回的内容的测试),但没有其他任何反应。我什至在其属性中将 AcctList 的默认值设置为“=Null”,但这并没有改变任何东西。

我已经注释掉了一些我还没有编写的代码的结构,因为如果子表单中没有值,并且我什至无法弄清楚如何生成错误,应该会给我一个错误消息如果列表框中没有选择任何内容,则消息,那么我什至不知道如何启动该代码。

那么,如果在列表框中没有选择任何内容,我该如何编写 IF 语句?如果子窗体的另一个 IF 语句(它基于另一个查询,该查询选择符合主窗体中 AcctList 列表框中所选帐户的标准的发票项目)又如何呢?

谢谢。

4

1 回答 1

1

我花了一段时间才弄清楚你在问什么:我如何确定是否在ListBox. 最简单的方法:

If AccList.ItemsSelected.Count = 0 Then
    MsgBox "Nothing selected"
End If
于 2013-08-11T21:42:45.397 回答