powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Возможно ли отобрать часть записей, удовлетворяющих условиям?
5 сообщений из 5, страница 1 из 1
Возможно ли отобрать часть записей, удовлетворяющих условиям?
    #32175843
Zrw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zrw
Гость
Здравствуйте!
Имеется задача: формировать отчет из большой таблицы, причем распечатывать его не сразу, а по мере появления новых страниц. Т.е. сегодня, например, надо распечатать страницы с 92 по 94, завтра - с 95 по 98 и т.д. Сейчас эта проблема решается выводом на экран предварительного просмотра всего отчета и ручной распечаткой лишь последних его страниц, но хочется автоматизировать. Вот тут и возникает проблема - как отобрать записи из таблицы, но не все, а с n по m из тех, что вообще есть. В MySQL можно было бы сделать такой запрос: SELECT * FROM Table LIMIT 100 TO 200; Но аналога этого в Access 2000/XP я не нашел. Да, какого-либо поля, нумерующего записи, нету. Есть первичный ключ типа "Счетчик", но он не поможет, т.к. в нем есть выпадающие значения (если записи были удалены еще до их сохранения).

Вот и вопрос: имеет ли проблема эффективное решение?
...
Рейтинг: 0 / 0
Возможно ли отобрать часть записей, удовлетворяющих условиям?
    #32175850
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо только запомнить последнее значение счетчика
Код: plaintext
SELECT TOP  100  * FROM Table WHERE id > Значение счетчика
...
Рейтинг: 0 / 0
Возможно ли отобрать часть записей, удовлетворяющих условиям?
    #32175865
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос, отбирающий записи с M по N
Код: plaintext
1.
2.
3.
4.
5.
Select Top (N-M) *
From Table1
Where ID Not In (Select Top M ID
                        From Table1
                        Order By ID)
Order By ID;

А можно в самом отчете не выводить ненужные записи (на событии Format области данных делаешь Cancel = True)
...
Рейтинг: 0 / 0
Возможно ли отобрать часть записей, удовлетворяющих условиям?
    #32175871
Zrw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zrw
Гость
потому что счетчик имеет "пробелы" - пропущенные значения. Т.е. допустим по условию id>=100 AND id<200 отберется вовсе не 100 записей, а меньше. Т.к. из отдельных записей в отчете формируются страницы по 5 записей на страницу, это недопустимо - в распечатке появятся неполные страницы. Я же хочу, попросив для распечатки 10 страниц получить РОВНО 10 страниц.

Т.е. напрямую использовать первичный ключ-счетчик нельзя.
...
Рейтинг: 0 / 0
Возможно ли отобрать часть записей, удовлетворяющих условиям?
    #32175876
Zrw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zrw
Гость
Спасибо, вариант с подзапросом должен подойти. Хотя формирование подзапроса тоже является элементом неэффективности, но это существенно лучше того варианта, что сейчас есть :-)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Возможно ли отобрать часть записей, удовлетворяющих условиям?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]