Automation Error
От: Аноним  
Дата: 20.09.12 11:02
Оценка:
День добрый!

Возникла задача по добавлению в один лист данных из другого в Excel. Написал код:

Dim cn As New ADODB.Connection
Dim cm As New ADODB.Command
Dim rs As New ADODB.Recordset

Dim myCommandString As String


cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\temp\OR Event Database v2.xls;" & "Extended Properties=""Excel 8.0;HDR=Yes;"""
cn.Open
cm.ActiveConnection = cn

myCommandString = "SELECT list2.[Nomer], list1.[Coincident Name], list1.[Internal Classification] FROM [FullTable$] list2, [Лист1$] list1 WHERE list1.[Full Description] LIKE list2.[Opisanie]"

MsgBox myCommandString

cm.CommandText = myCommandString
cm.CommandType = adCmdText

cm.Execute

rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.Open cm

Workbook.Open "c:\temp\OR Event Database v2.xls"

Dim currentRow As Long

If (Not rs.BOF And Not rs.EOF) Then

rs.MoveFirst

Do While Not (rs.EOF)

currentRow = rs.Fields(1).Value + 1
Workbooks("OR Event Database v2.xls").Worksheets("Full Table").Cells(currentRow, 6).Value = rs.Fields(2).Value
Workbooks("OR Event Database v2.xls").Worksheets("Full Table").Cells(currentRow, 7).Value = rs.Fields(3).Value

rs.MoveNext

Loop

End If

Код вешается на cm.Execute — выдает Automation Error (80040e14). Не могу понять, что ему не нравится в моём запросе. Все поля проверил, всё корректно. LIKE менял на = — бесполезно. Причём, вешается именно на сравнении (если лайк или = убрать и заменить другой командой, то всё нормально работает).
Помогите, пожалуйста, господа гуру.

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.