用于Microsoft Access的数据绑定CheckBoxList

时间:2012-08-17 03:42:00

标签: ms-access ms-access-2003

在ASP.NET中,我可以选择从数据源构建CheckBoxList控件,其中项的值可以是“Id”列(例如),而复选框旁边显示的文本来自“Name” “专栏。

是否可以使用VBA为Access 2003执行类似的操作?我试图尽可能避免硬编码项目列表,但无法弄清楚如何做类似的事情。

1 个答案:

答案 0 :(得分:2)

只需使用列表框。 Access中的列表框很棒,因为它允许多列,但会在您询问时隐藏第一列。您可以设置列表框以允许多个选择(在列表框的属性表的另一个选项卡中,将Multiselect设置为“simple”

更好的是你不需要任何代码来填写列表框,但是可以输入sql或者只是将列表框基于SQL查询。

所以列表框看起来像这样:

enter image description here

将所选项目转换为有用的PK ID列表的按钮后面的代码如下所示:

Private Sub cmdFax_Click()

  Dim strIDList     As String
  Dim vID           As Variant
  Dim strSQLWhere   As String

  For Each vID In Me.lstFaxList.ItemsSelected

     If strIDList <> "" Then strIDList = strIDList & ","

     strIDList = strIDList & lstFaxList.ItemData(vID)

  Next

  If strIDList <> "" Then
     strSQLWhere = " ID in (" & strIDList & ")"
  End If

  DoCmd.OpenReport "rptFax", acViewPreview, , strSQLWhere


End Sub

如果你愿意,你可以在代码供应或设置列表框的SQL,如下所示:

Sub mytest()

   Dim strSql        As String

   strSql = "Select ID, firstName, LastName, City " & _
            "where city = 'Edmonton'"

   Me.lstFaxList.RowSource = strSql


End Sub

所以你不需要在这里输入任何类型的列表。不清楚你是否“必须”在这里有一个实际的复选框 - 如果你愿意,你可以使用一个连续的表格,但我认为上面这么简单哦你根本不需要太多的代码来设置它

相关问题