Recordset.AddNew не работает (VB->ADO->Access)
Формулировка задачи:
Код:
Как бы CursorLocation и CursorType не менял - всегда rst.RecordCount = -1 (даже если товар такой есть)
А на AddNew выдает ошибку:
Run-time error '3251':
Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
Листинг программы
- Dim cnnAccess As New ADODB.Connection
- Dim rst As New ADODB.Recordset
- Dim strSQL As String
- Dim GetIdProduct As Long
- Dim Id_Customer As Long
- Dim Articul As Long
- Id_Customer = 81
- Articul = 43144
- cnnAccess.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
- 'Data Source=\ServDData.mdb;'
- strSQL = 'SELECT Id_Product FROM Products' & _
- ' WHERE ID_Customer = ' & Id_Customer & _
- ' AND ID_Articul = ' & Articul
- With rst
- .ActiveConnection = cnnAccess
- .CursorLocation = adUseServer
- .CursorType = adOpenKeyset
- .LockType = adLockOptimistic
- .Source = strSQL
- .Open
- End With
- Set rst = cnnAccess.Execute(strSQL)
- If rst.RecordCount > 0 Then
- GetIdProduct = rst!Id_Customer
- Else
- rst.AddNew
- GetIdProduct = rst!Id_Product
- rst!Id_Customer = 81
- rst!Name = 'Name'
- rst!ID_Articul = 43144
- rst.Update
- End If
Решение задачи: «Recordset.AddNew не работает (VB->ADO->Access)»
textual
Листинг программы
- Set rst = cnnAccess.Execute(strSQL)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д