我有一个简单的MS Access数据库,其设计如下:
我在Excel上有一个组合框。 我想将MyDatabase中的所有姓氏和名字列入组合框,格式如下:
$ LastName,$ FirstName
我希望有人可以帮我解决这个问题。 非常感谢您的回复。
谢谢你,上帝保佑!
答案 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对象库”