Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определяемый пользователем тип (Dim rs As ADODB.Recordset) на определен

52K
15 февраля 2011 года
DeChe
5 / / 21.10.2009
Доброго времени суток!
Нельзя сказать что я новичок в Visual Basic, но и экспертом себя назвать не могу. У меня есть задача: необходимо внести изменения в поля объекта типа Recordset (таблица в Access). Раньше, когда Access был ниже 2003 делалось все просто, но затем это стало делать затруднительно, кое-как обходился исполняемыми SQL-запросами. Сейчас решил все-таки понять как это делается в Visual Basic, для этого в Интернете нашел фрагмент кода:
 
Код:
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

занес этот фрагмент в модуль и запустил, но заткнулся на первой же строке. Скорее всего надо загрузить Reference, но что именно не знаю.
Прошу помочь! Спасибо всем кто откликнется.
7
15 февраля 2011 года
@pixo $oft
3.4K / / 20.09.2006
Может,попробовать
 
Код:
Dim rs As New ADODB.Recordset
?
Также можно поменять 1ю и 2ю строки местами,а то получается,что вы создаёте переменную некоего типа,хотя объект ещё не создан
278
15 февраля 2011 года
Alexander92
1.1K / / 04.08.2008
http://support.microsoft.com/kb/315974.

Надеюсь, поможет.
52K
15 февраля 2011 года
DeChe
5 / / 21.10.2009
s.CursorType = adOpenKeyset[\code]
Далее идет критика «Run-time error '3705': Операция не допускается если объект открыт.» Что опять не так?
278
15 февраля 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата:

 
Код:
rst.Open strSQL, con, 1
  rst.CursorType = adOpenKeyset

...
Операция не допускается если объект открыт



Наводит на мысли. :) Думаю, что

 
Код:
rst.Open

нужно вызывать только после того, как объект полностью готов.

P.S. А по поводу
Цитата:

User-defined type not defined


у меня, честно говоря, такое чувство, что вам элементарно не хватает какой-то библиотеки, где описан тип объекта. Правда, в этом не уверен, са в VB работал очень мало.

52K
16 февраля 2011 года
DeChe
5 / / 21.10.2009
st.LockType = adLockBatchOptimistic[\code]
опять критика:
«Run-time error '3001': Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.»
Насчет какой-то «неведомой библиотеки» согласен, в начале темы я указывал «...Скорее всего надо загрузить Reference, но что именно не знаю...», но что это за библиотека?
52K
16 февраля 2011 года
DeChe
5 / / 21.10.2009
Прошу прощения за кривые теги (вроде все пишу как указано в правилах), но сообщение все равно получается пресным.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог