Meysoncup
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Проблема вот в чём: как можно прочитать выше, запросы основаны на создании уникальных таблиц - т.е. при выборке по таб № создаётся таблица "по таб№", при выборке по дате создаётся таблица "по дате" и т.д., потом таблица превращается в подчин-ю форму, которая уже отображается в основной форме(всё это конечно сделано автоматически). Но при таком раскладе пользователь может делать отбор или по одному или по другому параметру. если же сделать, чтобы запрос был и по тому и по другому - т.е. вначале выполнялся отбор по таб№ с созданием таблицы, а потом(если пользователь захочет) запрос на изменение этой таблицы(отбор по дате), то исчезнет возможность отбора в произвольном порядке (сначала например по дате, а потом по таб№), т.к. в запросе по дате будет написано изменение созданной таблицы, но если перед эти невыполнить отбор по таб№, то таблица не будет создана и изменять будет нечего. Это можно осуществить только при одном условии: что пользователь будет делать выборку либо только по таб№, либо если нужны дополнительные параметры выборки(по дате, по цеху и т.д.), то выборка по этим параметрам будет проходить только ПОСЛЕ выборки по таб№. Обход этого ограничения - это написание кода на кнопку выборки, который проверял бы, создана уже таблица или нет. Если создана - то изменял бы её в соотв-ии с заданными параметрами, если не создана, то создавал бы её в соотв-ии с заданными параметрами. Как написать код который определяет существует таблица или нет? Была ещё мысль сделать схему без применения цепочки "запрос-созданная временная таблица на основе отбора-преобразование таблицы в подчинённую форму-вставка подчинённой формы в основную" на основе макросов с использованием "Применить фильтр",(как Телефоны клиентов в Борее), но такая схема также не подходит, потому что исключает выбор по нескольким параметрам. 2 вопроса: 1)Как написать код который определяет существует таблица или нет? 2)как написать, что если значение в поле формы(для запроса) не введено(пустое), то не учитывать его(или подставлять все значения) пример: Форма1!Поле1(таб№):введён Форма1!Поле2(№кассы):не введён Запрос: SELECT [База Буфет].[Номер кассы], [База Буфет].[Табельный номер] FROM [База Буфет] WHERE ((([База Буфет].[Табельный номер])=[Forms]![Форма1]![Поле1])) AND ((([База Буфет].[Номер кассы])=[Forms]![Форма1]![Поле2])) ; Что красным - не учитывается если поле2 пусто (или берутся все без исключения значения этого поля) Что-то типа IF [Поле2]=empty then [Поле2]=all или IF [Поле2]=null then [Поле2]=all Как это верно написать? | Всего записей: 14 | Зарегистр. 05-05-2008 | Отправлено: 14:23 17-05-2008 | Исправлено: Meysoncup, 17:22 17-05-2008 |
|