Поиск по запросу

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
unnnamed
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 26.06.2011 (Вс) 22:11

Поиск по запросу

Сообщение unnnamed » 26.06.2011 (Вс) 22:14

Здравствуйте!
Каким образом можно создать поиск в запросе а не в таблице? Имею следующий код:
Код: Выделить всё
Private SUB cmdFind_Click()
DIM promt1, promt2, SearchStr1, SearchStr2 AS STRING
  prompt1 = "Введите номер"
  prompt2 = "Введите месяц"
  SearchStr1 = InputBox(prompt1, "Поиск номера")
  SearchStr2 = InputBox(prompt2, "Поиск месяца")
    Data1.Recordset.Index = "PrimaryKey"
    Data1.Recordset.SEEK "=", SearchStr1, SearchStr2
    IF Data1.Recordset.NoMatch THEN
       Data1.Recordset.MoveFirst
    END IF
END SUB

Если в Data1 задано "RecordsetType 0 - Table", то поиск работает и ищет в таблице. Ежели задано "RecordsetType 1 - Dynaset" (для осуществления поиска в запросе), то выдается ошибка "3251 - Операция не поддерживается для объектов этого типа". Есть ли решение для данной проблемы?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 26.06.2011 (Вс) 22:26

Надо очень осторожно обращаться с такими записями:
Код: Выделить всё
DIM promt1, promt2, SearchStr1, SearchStr2 AS STRING
В VB6 это эквивалентно
Код: Выделить всё
DIM promt1 As Variant, promt2 As Variant, SearchStr1 As Variant, SearchStr2 AS STRING
Не уверен, что в данном случае именно это вызывает ошибку, но исправить описание на явное указание строк всё равно стоит.

unnnamed
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 26.06.2011 (Вс) 22:11

Re: Поиск по запросу

Сообщение unnnamed » 26.06.2011 (Вс) 22:38

Благодарю за замечание, исправил и взял на заметку, но на результат это не повлияло.

vice4
Новичок
Новичок
 
Сообщения: 39
Зарегистрирован: 31.05.2011 (Вт) 7:01

Re: Поиск по запросу

Сообщение vice4 » 06.07.2011 (Ср) 15:48

Код: Выделить всё
Data1.Recordset.findfirst
надо использовать вместо seek для динамических наборов


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 30

    TopList  
cron