2013-06-07 3 views
0

Насколько я ненавижу просить без хорошего старта, я застрял на чем-то очень простом, я думаю.Поиск таблиц из VBA

У меня есть таблица с тремя полями. Я хочу, чтобы иметь возможность искать их, используя InputBox, который я вызываю из VBA. Моя проблема в том, что я не знаю, как на самом деле искать поля. У меня есть свой InputBox, но как только у меня есть номер/текст, сохраненный как переменная, я не имею понятия, как вызвать его для поиска по таблице и отображения результатов. Прошу прощения, если на этот вопрос был дан ответ, но я не мог найти ничего, что помогло мне, прежде чем публиковать это.

Заранее спасибо за любую помощь в этом вопросе

+1

Используете ли вы форму с InputBox? Потому что вы можете использовать оператор 'select' и использовать переменную в параметре' where'. Затем используйте свой рекурсор и '.MoveNext' для перемещения по каждой записи или с помощью списка, чтобы показать все это с помощью. .RowSource = sql_statement. – Grant

ответ

0
Dim DB as Database 
Dim Rec as Recordset 

Set DB = CurrentDB 
Set Rec = DB.OpenRecordset ("Select * from MyTable where MyField LIKE '*" & Me.MyTextbox & "*'") 

Я полагаю, вы можете иметь технический паспорт или непрерывную форму, которая отображает результаты Rec? Возможно, вам придется немного подкорректировать это; например, вам может понадобиться использовать значение CHR для двойной кавычки вместо использования одиночной кавычки в инструкции LIKE. Я прошу прощения за то, что не дал более полного ответа, это напряженный день! : o)

+0

@Chuck. Если вы не знакомы с наборами записей, как только вы примените вышеприведенный код, вы можете получить из него отдельные значения полей с помощью msgbox Rec.Fields («MyFieldName») или msgbox Rec.Fields (i) '(где i - номер столбца). – PowerUser

Смежные вопросы