Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Не могу сделать поиск по таблицам. MS Access 2007 (http://forum.oszone.net/showthread.php?t=211529)

Squall84 20-07-2011 14:16 1716358

Не могу сделать поиск по таблицам. MS Access 2007
 
В общем есть у меня база, для учета перемещения картриджей по предприятию. В этой базе всего 3 таблички для работы и пару справочников из которых тянут данные основные таблицы. В одном справочнике занесены все картриджи по серийным номерам. Мне нужно чтобы я мог запустить форму поиска, где достаточно будет выбрать картридж по серийному номеру и произойдет поиск по всем таблицам именно по этому картриджу. Вот эту информацию мне нужно будет запихнуть в отчет и распечатать. Но с этим проблем не должно возникнуть. Интересует сам поиск, который я не могу организовать.

Delirium 21-07-2011 09:46 1716875

Создаешь запрос, в котором добавляешь фильтр по требуемому полю. Результат - требуемые список. В качестве источника фильтра указываешь поле с формы, примерно так: =Forms!Поиск!TextBox1.Text.

Squall84 22-07-2011 09:31 1717582

Спасибо! Принцип понятен. тогда еще парочка вопросов. При создании запроса - можно создать 4 различных варианта. Мне требуется, чтобы три-четыре таблицы объединить в одну при поиске. Т.е. объединяются все таблицы запросом, а после этого уже происходит поиск указанный выше. Смысл в том, что одна таблица учитывает ремонт, вторая перемещение по предприятию, третья заправку и т.д. Но во всех этих таблицах, среди прочих полей, указывается серийный номер картриджа и дата. Поэтому мне и нужно объединить таблицы в одну, чтобы сделть посик картриджа по всем таблицам. Хотя возможно объединять их запросом не требуется?

Delirium 22-07-2011 09:55 1717595

Цитата:

Цитата Squall84
Поэтому мне и нужно объединить таблицы в одну, чтобы сделать посик картриджа по всем таблицам »

Ну тогда можно сделать финт ушами, а именно - объединить таблицы в одну посредством оператора UNION. Причем сделать вот так:
Код:

select id, name, 'Ремонт' from table1
union
select id, name, 'Перемещение' from table2
union
select id, name, 'Заправка' from table3

В итоге получишь нечто вроде
Код:

1 HP15A Перемещение
3 HP16A Перемещение
4 HP15A Ремонт
7 HP16A Ремонт
1 HP15A Заправка
3 HP16A Заправка

Сохраняешь этот запрос и натравливаешь поиск на этот запрос. В третьем поле у тебя будет как указание, в какой таблице найдены данные.


Время: 23:53.

Время: 23:53.
© OSzone.net 2001-