Вопрос № 53614: Есть база данных АТС в Access 2003 Как правильно создать запрос на выбор н-ного количества номеров (может 5, а может 42 номера) в одном запросе. К примеру выводится окно запроса [Номер АТС] вводишь номер OK выходит это же окно вводишь номер, до тех п...
Вопрос № 53.614
Есть база данных АТС в Access 2003 Как правильно создать запрос на выбор н-ного количества номеров (может 5, а может 42 номера) в одном запросе. К примеру выводится окно запроса [Номер АТС] вводишь номер OK выходит это же окно вводишь номер, до тех пор пока не введёшь нужное количество номеров, а затем оставляешь это поле ввода пустым - это означает конец запроса. Запрос для отчёта в печать.
Отправлен: 29.08.2006, 10:41
Вопрос задал: Curier (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Werewolf
Здравствуйте, Curier!
В данном случае проще всего использовать не запросы а фильтры:
1)открываете свою таблицу;
2)в меню Записи: Фильтр - Расширенный фильтр
3)в открывшемся окне указываем поле по которому фильтровать например id (или выбираем из списка)
4) В поле условие отбора пишем номера интересующих атс в столбик
5) В меню Фильтр: Применить фильтр
Удачи.
Ответ отправил: Werewolf (статус: Студент)
Ответ отправлен: 29.08.2006, 11:29
Отвечает: Игорь Елизаров
Здравствуйте, Curier!
В SQL да наверное и в ACCESS при выборе данных можно указывать количество выводимых строк
select top 5 <поля> from <таблица>
where <условия>
по этому запросу будет выведено не более 5 строк.
то есть Вам из формы надо просто заполнять не только условия запроса, но и количество строк.
НО ! Если указать число 10, то, конечно, выведутся и первые пять записей и следующие пять, то есть в этом случае выборка идет с начала .
Если Вам надо выбирать не с начала , а следующие фрагменты базы данных, то таблица должна иметь ключевое поле, в запрос передавать максимальное полученное значение ключа и отбирать заданное количество записей у которых значение ключа больше заданного.
Ответ отправил: Игорь Елизаров (статус: 5-ый класс)
Ответ отправлен: 29.08.2006, 12:41
Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Curier!
Как раз для этих случаев я добавляю в таблицы поле с именем SEL типа BOOLEAN.
При отображении таблицы на экране пользователь отмечает в этом поле записи для обработки ( должна быть возможность редактирования этого поля - остальные лучше отключить для редактирования ) . Затем после выбора пользователь нажимает кнопку ОБРАБОТАТЬ, в процедуре обработки события которой необходимый код.
Отбор производится по условию :
select ПОЛЯ from ТАБЛИЦА where SEL ( или можно указать явно SEL=TRUE ) .
Перед началом отбора записей необходимо запустить запрос :
update * from ТАБЛИЦА set SEL=FALSE
В ACCESS есть возможность отображения логического поля как квадратик, внутри которого можно поставить галочку. Если такого нет, то для визуального отображения можно в запросе для отображения таблицы добавить
select iif ( sel = true , '+' , ' ' ) as se , ПОЛЯ from ТАБЛИЦА .
Таким принципом для отбора списка записей в своих программах пользуюсь с 2002 года, жалоб нет.