Проблема использования SQL в сочетании двух рабочих книг с VBA - PullRequest
0 голосов
/ 25 октября 2018

Я очень новичок в использовании SQL с VBA.

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

В примере, который я использовал из Интернета, я извлек данные из одного файла Excel, поэтому он просто открыл соединение с одним БД, но как это сделать?Я делаю это, когда хочу, чтобы два файла Excel действовали как БД.Хотите сделать это, чтобы я мог запустить SQL-запрос, объединяющий два

 Sub ReadDB()
    Dim mainWorkBook As Workbook
    Dim intRowCounter

    Set mainWorkBook = ActiveWorkbook

    intRowCounter = 2

    mainWorkBook.Sheets("Sheet2").Range("A2:Z100").Clear

    Set Connection = CreateObject("ADODB.Connection")
    Connection.Open "DSN=BDRReport"
    Connection.Open "DSN=SumitODBC"    'this is where i am running into the problem i think

    strQuery = "SELECT getRollpHierRpt.Field1, ['App].[Master Book Name], ['App].[App Book Name], ['App].[Secondary App Book Name], ['App].[App Code], ['App].[App Book Status], ['App].[Book Transit], ['App].[Transit Desc], ['App].[Legal Entity Id], ['App].[Legal Entity Desc] FROM ['App] INNER JOIN getRollpHierRpt ON ['App].[Book Transit] = getRollpHierRpt.Field1;"

    Set resultSet = Connection.Execute(strQuery)

    Do While Not resultSet.EOF
        mainWorkBook.Sheets("Sheet2").Range("A" & intRowCounter).Value = resultSet.Fields("Master Book Name").Value
        mainWorkBook.Sheets("Sheet2").Range("B" & intRowCounter).Value = resultSet.Fields("App Book Name").Value
        intRowCounter = intRowCounter + 1
        resultSet.movenext
    Loop
    resultSet.Close
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...