FindFirst strCriteria

Программирование на Visual Basic for Applications
vbart
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 26.01.2005 (Ср) 18:46
Откуда: moscow

FindFirst strCriteria

Сообщение vbart » 26.01.2005 (Ср) 18:52

Что не так? Почему-то не работает:

Код: Выделить всё
Dim db As Database, rst As Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("charSet")
rst.MoveLast
rst.MoveFirst

Dim strCriteria As String

   MsgBox rst.RecordCount 'работает
   MsgBox rst(0) 'работает
   strCriteria = "[charID] = 5"
   rst.FindFirst strCriteria
   Msgbox rst(2)
   


Ругается - "Операция не поддерживается для объектов этого типа" на строке rst.FindFirst strCriteria

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.01.2005 (Чт) 8:50

Так он же тебе русским/английским языком говорит, что операция не поддерживается для объектов этого типа. Открой recordset как Dynamic.
Lasciate ogni speranza, voi ch'entrate.

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 27.01.2005 (Чт) 9:07

Судя по справке это должно работать и для Static и для Dynamic, я попробовал и так и так у меня тоже не работает.
Душа болит... А лечишь её - печень болит!

vbart
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 26.01.2005 (Ср) 18:46
Откуда: moscow

Сообщение vbart » 27.01.2005 (Чт) 17:06

echo писал(а):Судя по справке это должно работать и для Static и для Dynamic


Сущая правда

АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

Сообщение АндрейБ » 28.01.2005 (Пт) 21:11

Честно то же сталкнулся с такой проблемой, надо было найти в небольшой таблице одну запись, обсуждать не было времени, поэтому я сделал тупо, сделал запрос с условием!
Кто ищет, тот всегда найдет ...

АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

Сообщение АндрейБ » 28.01.2005 (Пт) 21:22

Попробуй кстати так (без описания переменной):
rst.FindFirst "charID = 5"
Еще проверь правильность имени поля в критерии и соответствия типа данных этого поля (числовой).
Еще проверь количество записей в Рекордсете: RS.Recordcount
И попробуй описать Рекордесет так:
Set rst = db.OpenRecordset("Select * From charSet;")
:D
Кто ищет, тот всегда найдет ...

АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

Сообщение АндрейБ » 28.01.2005 (Пт) 21:41

Не знаю ради интереса описал все как ты сделал, только описал рекордсет как я тебе советовал и критерий без описания переменой и все работает!
Если поле в критерии текстовое, то еще надо значение в одинарные скобки = 'ЖОПА'. Для числовых как ты и описал.
Удачи.
Кто ищет, тот всегда найдет ...


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron