【问题标题】:Databound CheckBoxList for Microsoft AccessMicrosoft Access 的数据绑定 CheckBoxList
【发布时间】:2012-08-17 03:41:59
【问题描述】:

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

是否可以使用 VBA 对 Access 2003 执行类似的操作?如果可能的话,我会尽量避免对项目列表进行硬编码,但不知道如何做类似的事情。

【问题讨论】:

标签: ms-access ms-access-2003


【解决方案1】:

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

更好的是,您不需要任何代码来填写列表框,而是可以输入 sql 或简单地将列表框基于 SQL 查询。

所以列表框可以如下所示:

将所选项目转换为有用的 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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多