Я очень новичок в использовании 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