Dim rs As ADODB.Recordset
Set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "select * from dbo.DEPA1", cn
rs.Edit
rs.Fields("DEPA_NAMS") = 0
rs.Fields("DEPA_LEV2") = 8
rs.Fields("DEPA_LEV3") = 12
rs.Update
Определяемый пользователем тип (Dim rs As ADODB.Recordset) на определен
Нельзя сказать что я новичок в Visual Basic, но и экспертом себя назвать не могу. У меня есть задача: необходимо внести изменения в поля объекта типа Recordset (таблица в Access). Раньше, когда Access был ниже 2003 делалось все просто, но затем это стало делать затруднительно, кое-как обходился исполняемыми SQL-запросами. Сейчас решил все-таки понять как это делается в Visual Basic, для этого в Интернете нашел фрагмент кода:
Код:
занес этот фрагмент в модуль и запустил, но заткнулся на первой же строке. Скорее всего надо загрузить Reference, но что именно не знаю.
Прошу помочь! Спасибо всем кто откликнется.
Код:
Dim rs As New ADODB.Recordset
Также можно поменять 1ю и 2ю строки местами,а то получается,что вы создаёте переменную некоего типа,хотя объект ещё не создан
Далее идет критика «Run-time error '3705': Операция не допускается если объект открыт.» Что опять не так?
Цитата:
Код:
rst.Open strSQL, con, 1
rst.CursorType = adOpenKeyset
rst.CursorType = adOpenKeyset
...
Операция не допускается если объект открыт
Наводит на мысли. :) Думаю, что
Код:
rst.Open
нужно вызывать только после того, как объект полностью готов.
P.S. А по поводу
Цитата:
User-defined type not defined
у меня, честно говоря, такое чувство, что вам элементарно не хватает какой-то библиотеки, где описан тип объекта. Правда, в этом не уверен, са в VB работал очень мало.
опять критика:
«Run-time error '3001': Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.»
Насчет какой-то «неведомой библиотеки» согласен, в начале темы я указывал «...Скорее всего надо загрузить Reference, но что именно не знаю...», но что это за библиотека?
Прошу прощения за кривые теги (вроде все пишу как указано в правилах), но сообщение все равно получается пресным.