2016-06-28 1 views
1

Я довольно новичок в доступе, и у меня возникли проблемы с поиском, как выполнить поиск. У меня есть таблица, содержащая записи с несколькими полями и одно поле первичного ключа, называемое «Serial».Как использовать форму для поиска таблицы и отображения результатов в отчете в Microsoft Access 2010

Я создал форму, связанную с этой таблицей, и все, что она содержит, - это текстовое поле и кнопка, в которой пользователь может ввести любое слово или серийный номер и что угодно, и в таблице будут найдены записи, которые имеют которое соответствует введенным критериям.

Я дошел до точки, где я могу выполнить поиск по таблице и найти любую запись с совпадением, но я не могу понять, как опубликовать эту запись (и любые другие записи, которые соответствуют) новому созданному отчету, пользователь может видеть все результаты, соответствующие его критериям.

Код, который у меня есть, как таковой, и вывод дает только пустой отчет.

Строка msgbox всегда выводит правильный серийный номер для каждого поиска.

Я считаю, что проблема связана с линией DoCmd.OpenReport.

Do While Not rs.EOF 'iterate through table and check all fields 
For Each Field In rs.Fields 
    If Field = SearchBar.Value Then 
     found = True 
     MsgBox (rs.Fields("Serial")) 'debugging 
     **DoCmd.OpenReport "Asset Inv", acViewReport, , "[Serial] = '" & rs.Fields("Serial") & "'"** 
     Exit For 
    End If 
Next Field 

If found Then 
    Exit Do    
Else 
    rs.MoveNext 
End If 
Loop 

Спасибо за помощь!

+0

'Serial' является строка? Есть ли обработчик ошибок? Спросил параметр (опечатка)? Вы должны рассмотреть возможность использования фильтра вместо цикла через rs. Прокрутите поля запроса и объедините их в фильтр. 'strFilter = strFiler &" ["& rs.Fields.Name &"] = '"& SearchBar.Value & "'OR"' – BitAccesser

ответ

1

Если вы хотите искать в нескольких полей на основе одного ключевого слова Выполните следующие действия:

1- Предположим, что мы имеем следующую таблицу, в которой Вы хотите искать с помощью ключевого слова в нескольких полях

2- Open конструктор запросов и выберите вам таблицу, что вы хотите Поиск Это

3 - Добавление полого запроса, Dbl нажав на нужные полях

4-Клик на пустую колонку и перейти к Дизайну Tab

5-Save Вы Query

5-Click On Builder

6-Выберите Ваш сохраненный запрос из списка

7-Выбрать поля Вы хотите искать в И перечислите их

concatinate Fields That You Want Search in

8-Теперь у вас есть новый столбец, который содержал все необходимые поля

9-В настоящее время критериевСодержательность Type Подобно ""+ [] +""

10-выполнить запрос

Write "Like" Sql Command And Run Query

Enjoy It ...

+0

Я не получаю правильный поиск после шага 8. Прежде чем я подключил его к окну поиска форм, я сам выполнил сам запрос и набрал слово поиска вручную, и я не получаю никаких результатов ни за какое слово , – Jtt3mr

+0

Обратите внимание, что если у вас есть поля с цифрами, вы должны преобразовать их в строковые значения. Вы можете использовать str ([NumericFieldName]), а затем конкатенировать с другими полями –