Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как сделать выборку за период для отчета / 25 сообщений из 43, страница 1 из 2
10.09.2010, 21:29
    #36841286
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Мне необходимо создать несколько отчетов по продажам.
Буду благодарен, если кто подскажет как в итоге сделать следующее:

во-первых, нужен отчет просто по всем продажам (данные из двух таблиц - "продажи" и "проданные услуги"): за последнюю неделю, последний месяц, за последний год. (знаю, что можно указывать так: вывести BETWEEN #dd.mm.yyyy# AND #dd.mm.yyyy#. Но это не то, мне нужно за период перед сегодняшней датой).

во-вторых, если пользователю вздумается узнать продажи за другой промежуток времени, например с 01.01.2000 по 22.01.2000, при том, что сегодня 10 сентября 2010 года, отчет на основе такого запроса, где пользователь сам может указывать даты.
Заранее спасибо.
...
Рейтинг: 0 / 0
10.09.2010, 21:47
    #36841308
PWW
PWW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue,

Ну вроде ты сам себе ответил, вводишь на форма две даты-начало и конец отчетного периода, передаёшь в запрос. Неделя месяц либо сами вычисляют, либо помоги им, например ставят конец отчетного рериода, а в поле со списком, выбирают неделю, две месяц, после выбора которого дата подставляется опять таки в поле начала отчетного периода.
...
Рейтинг: 0 / 0
10.09.2010, 21:53
    #36841320
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrueзнаю, что можно указывать так: вывести BETWEEN #dd.mm.yyyy# AND #dd.mm.yyyy#.
Это неправильно. Подробнее см. в факах.
...
Рейтинг: 0 / 0
10.09.2010, 21:56
    #36841323
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
не совсем понял, к сожалению. Это скорее относится к пункту 2 того, что мне нужно. А по поводу отчетов за неделю, и т.д. - хотелось бы просто щелкать на отчете и получать то что нужно.
...
Рейтинг: 0 / 0
10.09.2010, 22:02
    #36841329
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Владимир Саныч
Это неправильно. Подробнее см. в факах.
да вобщем то я это из учебника взял: условие отбора записей, задаваемое в бланке отчета в строке "условие отбора". Between #01.01.2000# And #31.01.2000# задает интервал дат.
...
Рейтинг: 0 / 0
10.09.2010, 22:04
    #36841331
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue
задаваемое в бланке отчета.

опечатка: д.б. "в бланке запроса"
...
Рейтинг: 0 / 0
10.09.2010, 22:15
    #36841344
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrueВладимир Саныч
Это неправильно. Подробнее см. в факах.
да вобщем то я это из учебника взял: условие отбора записей, задаваемое в бланке отчета в строке "условие отбора". Between #01.01.2000# And #31.01.2000# задает интервал дат.
Значит, либо Вы ошибаетесь, либо учебник. Но это не так важно. Важнее то, что это неправильно.
...
Рейтинг: 0 / 0
10.09.2010, 22:16
    #36841348
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue, форму - дарю... На неё Вам только останется повесить кнопку, которая будет открывать отчет, а отчет в свою очередь опирается на запрос, где по полю даты прописано следующее: Between Forms![Продажы_за_период]![NP] And Forms![Продажы_за_период]![KP]
...
Рейтинг: 0 / 0
10.09.2010, 22:41
    #36841371
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Wipeout2097,

бльшое спасибо!)
...
Рейтинг: 0 / 0
11.09.2010, 02:53
    #36841476
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Уважаемый Wipeout2097,

я сделал на Вашей форме кнопку, как Вы и сказали, добавил в запрос приведенное Вами условие. Теперь... все работает если я выставляю временной интервал сам в двух полях С и ПО.
Но если я выбираю из поля со списком, то почему то не работает, выдает ошибку (на скриншоте), а при нажатии Debug подсвечивает желтым строчку Me.NPP.Value = DateSerial(Year(Date), 7, 1) Это если я в списке выбирал месяц июль. Почему так?

Я заметил, что при выборе месяца из поля со списком, в поле "С" ставится первое число этого месяца (ну и затем ошибка показывается). Но в поле "По" так и остается текущая дата. Но ведь если я хотел бы отчет за июль, нужно бы чтобы в полях ставились даты с 1 по 31 июля...

И можно ли сделать поля пустыми при открытии формочки (иначе при выборе даты в первом поле приходится в открывшемся календаре листать, так как по умолчанию стоит на 01.01.2010)?
...
Рейтинг: 0 / 0
11.09.2010, 02:55
    #36841477
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue(на скриншоте)
...
Рейтинг: 0 / 0
11.09.2010, 02:55
    #36841478
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
...
Рейтинг: 0 / 0
12.09.2010, 23:09
    #36842618
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue,

NPP - это элемент ActiveX под названием DateAndTimePicker. В некоторых сервис-паках он отсутствует. Просто у Вас нет библиотеки OCX, на которую ссылается элемент управления NPP.

Для решения проблемы сделайте следующее:

1. Закройте Access, если он у Вас открыт.
2. В интернете скачайте файл mscomct2.ocx и закиньте его в C:\Windows\System32.
2. Откройте Аксес, пройдите в Сервис->Макрос->Редактор Visual Basic->Tools->References и в появившемся окне нажимайте Browse (Обзор). В папке System32 найдите и откройте этот MSCOMCT2.OCX... После перезагрузите Аксесс и наслаждайтесь...;);)
...
Рейтинг: 0 / 0
12.09.2010, 23:12
    #36842621
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue,
да, забыл сказать DateAndTime Picker - это весьма удобный календарик...;);) Для тех, кому лень писать даты вручную. С помощью этих календариков вы можете выбирать любой диапазон не вводя его с руки. Хоть с 13.01.2010 до 17.03.2010. Очень удобно...;);) Эти календарики прикреплены к "С" и "ПО" по отдельности... Ну, увидите...;);)
...
Рейтинг: 0 / 0
13.09.2010, 00:07
    #36842648
Ирина Тихонова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
вот старый пример из Борея! Куда проще?
...
Рейтинг: 0 / 0
13.09.2010, 09:12
    #36842805
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Сделайте приличную форму, позволяющую выбирать наиболее ходовые периоды (ваши последнюю неделю, месяц, год) но при этом дающую возможность задать дату начала и конца непосредственно вводом с клавиатуры.

Таковую форму можно использовать во всех местах программы, требующих задания интервала. Если при ее закрытии запоминать введенные даты и подставлять их при следующем открытии, эргономика программы еще больше улучшится.
...
Рейтинг: 0 / 0
14.09.2010, 00:42
    #36844539
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Wipeout2097,

сделал как Вы сказали (правда в Аксе 2007 ведь нет меню сервис, поэтому я просто зашел на вкладку "Работа с базами данных" и нажал Visual Basic, а далее в точности по Вашему тексту), но к сожалению ничего не изменилось - все та же ошибка 2683. Она возникает, если выбирать что-то из поля со списком. При использовании полей для ввода дат - все ОК.

Насчет календариков. Скажите, а разве их нужно специально создавать? У меня в других формах есть поля с типом данных дат, так я ничего вообще не делал, и все равно после размещения курсора в поле, справа появляется календарик. По-моему обычное дело. Может в предыдущих версиях Акса этого не было (я не работал, с 7-го начал).
...
Рейтинг: 0 / 0
14.09.2010, 00:46
    #36844544
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Программист-Любитель,

просто шикарная форма, было бы просто замечательно такую иметь. К сожалению, я без понятия как ее сделать.
...
Рейтинг: 0 / 0
14.09.2010, 08:36
    #36844678
DzonyBB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrueWipeout2097,
Насчет календариков. Скажите, а разве их нужно специально создавать? У меня в других формах есть поля с типом данных дат, так я ничего вообще не делал, и все равно после размещения курсора в поле, справа появляется календарик. По-моему обычное дело. Может в предыдущих версиях Акса этого не было (я не работал, с 7-го начал).

Почитайте здесь , я думаю найдете ответ на свой вопрос!

http://sql.ru/forum/actualthread.aspx?tid=766614&pg=-1
...
Рейтинг: 0 / 0
14.09.2010, 12:33
    #36845221
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrueпросто шикарная форма, было бы просто замечательно такую иметь. К сожалению, я без понятия как ее сделать.Она совершенно примитивна. Делается "в лоб" по своему внешнему виду.
...
Рейтинг: 0 / 0
14.09.2010, 12:42
    #36845242
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Программист-Любитель,

только на 2003 сервере и без тем выглядеть будет не так красиво :(
...
Рейтинг: 0 / 0
14.09.2010, 16:25
    #36845927
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
PetrAnntrue, да нет, конечно не обязательно.... Это так, для ленивых...;););) Вобщем можно просто эти два календарика с формы удалить (наверное у Вас они выглядят как два белык квадратика справа от каждого поля для ввода дат), после чего удалить все строчки кода, содержащие NPP и KPP. Тогда все заработает.
...
Рейтинг: 0 / 0
18.09.2010, 16:18
    #36853677
PetrAnntrue
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Спасибо Всем
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.04.2012, 13:30
    #37748490
snk1952
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
Владимир Саныч,
Спасибо Вам за советы по теме "как сделать выборку за период для отчета".
Форму, предложенную в теме, использовал и она работает нормально.
Один вопрос. Как сделать, чтобы выборка записей осуществлялась не за день или период, а за смену, например с 01.01.2012 с 8.00 до 02.01.2012 8.00, т.е. за какой-то отрезок времени.
Если изволите подсказать, то, пожалуйста, поподробней, поскольку я не очень большой специалист в VBA.
Заранее благодарен.
Сергей.
...
Рейтинг: 0 / 0
11.04.2012, 13:35
    #37748507
зоранее благодарень
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать выборку за период для отчета
snk1952,

предикат BETWEEN
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как сделать выборку за период для отчета / 25 сообщений из 43, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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