使用VBA从访问表中提取和显示数据

时间:2013-08-17 04:14:55

标签: sql vba ms-access access-vba dao

我有一个提取然后在列表框中显示记录集的功能。

我的列表框中只有一个字段。

有没有办法可以在列表框中显示整个列“标题”(几个字段)?

Function GetCaption() As String

   Dim db As Database
   Dim rst As DAO.Recordset
   Dim SQL As String
   Dim LCaption As String

   Set db = CurrentDb()

   SQL = "SELECT Caption FROM tblMainMenu"

   Set rst = db.OpenRecordset(SQL)

   If rst.EOF = False Then
      LCaption = rst("Caption")
   Else
      LCaption = "Not found"
   End If

   rst.Close
   Set rst = Nothing

   GetCaption = LCaption

End Function

Private Sub btnGetCaption1_Click()

    LstBx.RowSourceType = "Value List"
    LstBx.RowSource = GetCaption

End Sub

Private Sub Form_Load()

    LstBx.RowSource = ""
    btnGetCaption1.Caption = DLookup("ReportID", "tblMainMenu", "ReportID = 1")

End Sub

1 个答案:

答案 0 :(得分:1)

我不确定我对你的目标有多了解。但是,如果您希望列表框包含tblMainMenu.Caption个值,每个列表框行一个,则可以将该查询用作其记录源。

在“设计视图”中打开表单,打开列表框的属性表,然后选择“数据”选项卡。然后为行源类型选择“表/查询”。为Row Source属性添加此SQL。

SELECT [Caption] FROM tblMainMenu

然后选择Format选项卡,并为Column Count属性输入1.

最后切换到表单视图并告诉我们这是否能满足您的需求,或者它与您的需求有何不同。

相关问题