如何将MS Access数据库的内容导入Excel的组合框?

时间:2009-08-05 02:35:36

标签: excel ms-access vba

我有一个简单的MS Access数据库,其设计如下:


|姓氏|名字|国家|

我在Excel上有一个组合框。 我想将MyDatabase中的所有姓氏和名字列入组合框,格式如下:

$ LastName,$ FirstName

我希望有人可以帮我解决这个问题。 非常感谢您的回复。

谢谢你,上帝保佑!

1 个答案:

答案 0 :(得分:0)

你可以用vba宏做到这一点。为了做到这一点,你必须这样做 1)连接到数据库并将表的内容获取到记录集 2)使用记录集中的数据填充组合框。 好的,这是代码

Private Sub Worksheet_Activate()
     Dim Db As Database
     Dim strSQL As String
     Dim rstFromQuery As Recordset
     Dim databasePath As String

     'Here you should specify path to to your database
     databasePath = "c:\db.mdb"
     Set Db = DBEngine.workspaces(0).OpenDatabase(databasePath)
     'Put the name of the table from you database instead of users
     strSQL = "select * from users"
     Set rstFromQuery = Db.OpenRecordset(strSQL, dbOpenSnapshot)

     usersBox.Clear
     i = 0
     While Not rstFromQuery.EOF
        usersBox.AddItem
        usersBox.List(i, 0) = rstFromQuery(0)
        usersBox.List(i, 1) = rstFromQuery(1)
        usersBox.List(i, 2) = rstFromQuery(2)
        rstFromQuery.MoveNext
        i = i + 1
     Wend
     rstFromQuery.Close

End Sub

组合框的名称是usersbox,不要忘记

- 在上面的代码中更改databasePath

- 更改表名称(“用户”)

- 将组合框的columncount属性设置为3

- 在Visual Basic编辑器的“工具参考”中检查“Microsoft DAO对象库”