Я хочу отправить запрос (запрос) из Excel в базу данных Access. Но когда мой запрос нацелен на связанную таблицу, он вызывает ошибку 3021. Однако когда я запускаю тот же самый запрос в Access, сам редактор запросов (dynaset) показывает 1300 строк.
Я тестировал различные решения:
Я попытался выполнить восстановление с помощью
conObj.execute (SqlString)
Затем со следующим, с той же ошибкой
RecordSet.Open SQL, "DsnODBC"
Наконец с
RecSet.Open SQL, conn, adOpenForwardOnly, adLockReadOnly, adCmdText
Но ничего не работает; каждый раз, когда я получаю сообщение об ошибке
LesResult = RecSet.GetRows()
'=========Instansiation des objets=========' 'init object
Set RecSet = New ADODB.recordset
Set conn = New ADODB.Connection
'=========================================='
'===========Connection à la base===========' 'DB connect
conn.ConnectionString = ThisWorkbook.leControler.strConnectString
conn.Open ThisWorkbook.leControler.strConnectString
'=========================================='
Select Case HerbierAdmin.ActiveAction
Case "PM":
[Somme code]
SQL = "SELECT SAP_ClassItems.[Plan de montage] "
SQL = SQL & "FROM SAP_ClassItems "
SQL = SQL & "WHERE ((SAP_ClassItems.[Plan de montage] Like 'PM 21S *'));"
Debug.Print SQL
Set RecSet = conn.Execute("SELECT SAP_ClassItems.[Plan de montage] FROM SAP_ClassItems WHERE ((SAP_ClassItems.[Plan de montage] Like 'PM 21S *'));")
LesResult = RecSet.GetRows() 'error here
RecSet.Close
For i = 0 To UBound(LesResult, 2)
Me.ListeBox.AddItem (LesResult(0, i)) 'add result to drop down box
Next
Ожидаемый результат. Результат запроса можно добавить в раскрывающийся список.