Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 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. Но все равно спасибо.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам