Страница: 1 |
Страница: 1 |
Вопрос: EXCEL ADO
Добавлено: 28.10.04 17:27
Автор вопроса: mpeter
Может кто знает как с этой бестией бороться
Подключился к Exscel-евскому файлу, все вро де хорошо, записи видно Recordset вперед назад двигается, но как только добавляю запись LRS.addnew так все, выдается ошибка "Неудается обновить запрос, поскольку он не содержитстолбцы, которые могут использоваться в качестве ключевых"
Dim LConn As ADODB.Connection
Dim LRS As ADODB.Recordset
Dim LSConn As String
Dim LSql As String
Set LConn = New ADODB.Connection
LSConn = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=c:\statserver\report4.xls;" & _
"DefaulDir=c:\statserver\"
LSql = "SELECT * FROM [report2$]"
LConn.Open LSConn
Set LRS = New ADODB.Recordset
LRS.Open LSql, LConn, adOpenDynamic, adLockOptimistic
Добавляю так
Private Sub add_Click()
With LRS
.AddNew
Label1.Caption = CStr(LRS.AbsolutePosition)
.Fields(0) = Text1.Text
.Fields(1) = Text2.Text
.Fields(2) = Text3.Text
.Fields(4) = 0
End With
End Sub
Я уж и все Cursortyp перепробывал, и все блокировки, Да и еще AbsolutePosition Record set-а почему то всегда равна -1
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #1
Добавлено: 28.10.04 17:46
Не уверен, что делать нужно так и не как иначе, но вот так все должно работать:
Private Sub add_Click()
With LRS
.AddNew
. Fields (“имя поля_1”) = Text1.Text
. Fields (“имя поля_2”) = Text2.Text
. Fields (“имя поля_3”) = Text3.Text
. Fields (“имя поля_4”) = 0
.Update
Label1.Caption = CStr(LRS.AbsolutePosition)
End With
End Sub
Хотя скорее всего ты просто .Update забыл.
Номер ответа: 2
Автор ответа:
mpeter
Вопросов: 1
Ответов: 3
Профиль | | #2
Добавлено: 29.10.04 09:02
.update я пробывал, но тогда выходит другая ошибка на update- "Неудается обновить запрос, поскольку он не содержит столбцы,которые могут быть использованы в качестве ключевых". Может я ьаблицу как то не так создал? Правда я несколько пробывал.
Номер ответа: 3
Автор ответа:
mpeter
Вопросов: 1
Ответов: 3
Профиль | | #3
Добавлено: 29.10.04 09:06
Да кстати один раз то он дает сделать .ADDNEW а вот после этого на все действия с рекордсетом выдает ошибку "Неудается обновить запрос, поскольку он не содержитстолбцы, которые могут использоваться в качестве ключевых", а вот UPDATE c первого раза ошибка выходит. А у кого нибудь реально Excel через ADO работал? Ну в плане добавить записи, прочесть то у меня получается.
Номер ответа: 4
Автор ответа:
mpeter
Вопросов: 1
Ответов: 3
Профиль | | #4
Добавлено: 01.11.04 09:14
Ладно, сам разобрался. Слава Microsoft.com. Но все равно спасибо.