Я пытаюсь выполнить оператор Select на сервере SQL, используя соединение ADODB, в Microsoft Access VBA. Оператор select очень сложен с вычислениями и лучше его сохранить, чтобы попытаться установить соединение с БД.
Я могу добавлять данные построчно, но мне интересно, как я могу добавить максимально простой блок данных, чтобы сэкономить время и усилия. (Много данных!)
Чтобы упростить пример, я поместил базовый оператор SQL, но если бы вы могли просмотреть его и сообщить мне, есть ли способ добавить блок записей или какой вариант лучше ... Приведенный ниже код работает для вставки в качестве блока в Excel, и я думаю, что мне нужно только изменить метод этой закомментированной строки, чтобы добавить в Access ...
Option Private Module
Private Const DataServer = "GLSSQLMADPS2"
Private Const sqlconstring = "Driver={SQL Server};Server=" & DataServer & "; Database=PERF_MGMT_BWRSRV_PROD; Trusted_Connection=yes; Connect Timeout = 600"
Sub M2DSQLPull()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim sql As String
sql = "SELECT " & _
"Employee_Token_NR, " & _
"Null as 'Sum_Month', " & _
"1000 AS 'Data_ID', " & _
"DATEADD(m, DATEDIFF(m, 0, MIN(CALL_TS)), 0) AS 'Metric_1' " & _
"FROM PMBSED_PhoneEvaluations " & _
"GROUP BY Employee_Token_NR "
Set cn = New ADODB.Connection
cn.CommandTimeout = 120
cn.Open sqlconstring
Set rs = New ADODB.Recordset
rs.Open SqlString(i), cn, adOpenStatic, adLockReadOnly
'How I would paste in an excel spreadsheet, how do I block paste in an access database?
'ThisWorkbook.Worksheets("RawData").Cells(RowNumber, 1).CopyFromRecordset rs
RowNumber = RowNumber + rs.RecordCount
rs.Close
cn.Close
End Sub
Спасибо за любую помощь!
1010 * -Роберт *