表单上列表框的多个问题

时间:2013-08-11 21:32:32

标签: ms-access listbox access-vba

我是一个使用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语句?如果子表单(基于另一个查询选择适合主表单中AcctList列表框中所选帐户标准的发票项目的另一个查询),那么另一个IF语句呢?

感谢。

1 个答案:

答案 0 :(得分:1)

我花了一些时间来弄清楚你在问什么:我怎样才能确定ListBox中是否选择了任何内容。最简单的方法:

If AccList.ItemsSelected.Count = 0 Then
    MsgBox "Nothing selected"
End If