Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 141
от 03.09.2006, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 342, Экспертов: 44
В номере:Вопросов: 1, Ответов: 3


Вопрос № 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 года, жалоб нет.

С уважением.
Ответ отправил: Филатов Евгений Геннадьевич (статус: 5-ый класс)
Ответ отправлен: 29.08.2006, 18:24


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное