Excel VBA - Как заполнить массив из SQL-запросов - PullRequest
2 голосов
/ 11 ноября 2011

Я пытался написать кусок кода, который позволил бы мне запрашивать базу данных SQL и использовать возвращаемые значения для заполнения комбинированного списка.

Запрос выполняется нормально, когда я прошу его вернуть значения на лист, однако я не хочу, чтобы они там были, я просто хочу сохранить их в массиве, который будет использоваться в выпадающем списке.

Вот что у меня есть ...

Sub testQuery()
Dim varConn As String
Dim SQL As String
Dim test As String


Range("A1").CurrentRegion.ClearContents

varConn = "ODBC; DSN=Traceability DB;UID=XXX;PWD=XXX"

SQL = "Select Distinct ""Date"" from testtable"

With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1"), SQL:=SQL)
    .Refresh
End With

UserForm1.Show

End Sub

Я не уверен, как заменить Range ("A1") на массив.

Примечание: это происходитиспользуется в последней версии Excel для MAC.

Спасибо за помощь

1 Ответ

1 голос
/ 11 ноября 2011

Сохраните его в наборе записей.Примерно так:

Set rs = db.OpenRecordset("Select Distinct ""Date"" from testtable")

Для доступа к записям в наборе записей используйте GetRows Примерно так:

data = rs.GetRows(j)

, а затем циклически проходить данные.

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