Как импортировать содержимое базы данных MS Access в поле со списком Excel? - PullRequest
0 голосов
/ 05 августа 2009

У меня есть простая база данных MS Access со следующим дизайном:


| Фамилия | Имя | Страна |

И у меня есть поле со списком в Excel. Я хотел бы перечислить все фамилии и имена из MyDatabase в поле со списком в следующем формате:

$ LastName, $ FirstName

Я надеюсь, что кто-нибудь может мне помочь в этом вопросе. Ваш ответ очень ценится.

Спасибо и Бог благословит!

1 Ответ

0 голосов
/ 05 августа 2009

Вы можете сделать это с помощью макроса 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

Имя combobox - usersbox, и не забудьте

- изменить путь к базе данных в приведенном выше коде

- изменить имя таблицы («пользователи»)

-Установить свойство столбца в поле со списком на 3

-Проверьте «Библиотека объектов Microsoft DAO» в «Инструменты-Ссылки» в Visual Basic Editor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...