Обновление невозможно. База данных или объект доступны только для чтения - VB

Узнай цену своей работы

Формулировка задачи:

Пишу в макросе Excel нижеприведенный код для соединения с именованным диапазоном активной книги, и при попытке обновить поле получаю : Обновление невозможно. База данных или объект доступны только для чтения. Кто может посоветовать как правильно здесь выполнить операцию ?
Листинг программы
  1. Dim cnn As ADODB.Connection, Rs As ADODB.Recordset , rngName As String
  2. rngName = 'NameA'
  3. Set cnn = New ADODB.Connection
  4. cnn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
  5. 'Data Source=' & _
  6. ActiveWorkbook.Path + ' ' + ActiveWorkbook.Name & ';' & _
  7. 'Extended Properties=Excel 8.0' 'HDR=Yes;'
  8. Set Rs = New ADODB.Recordset
  9. Rs.Open Source:='SELECT F1,F2, F3 from ' & rngName & _
  10. ' group by F1,F2,f3 order by F1,F2,f3 ', _
  11. ActiveConnection:=cnn, _
  12. CursorType:=adOpenDynamic, _
  13. LockType:=adLockPessimistic, _
  14. Options:=adCmdText
  15. Rs.MoveFirst
  16. Rs.Fields('F1')='123'

Решение задачи: «Обновление невозможно. База данных или объект доступны только для чтения»

textual
Листинг программы
  1. Rs.SourseRs.LockType = adLockOptimistic
  2. Rs.CursorType = adOpenKeyset
  3.  
  4. Rs.Source = 'SELECT F1,F2, F3 from ' & rngName & ' group by F1,F2,f3 order by F1,F2,f3 '
  5.  
  6. Rs.ActiveConnection = cn
  7. Rs.Open
  8. Rs.MoveFirst
  9. Rs.Fields('F1')='123'
  10. Rs.Update

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут