Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форма выборки по датам из таблицы или запроса / 20 сообщений из 20, страница 1 из 1
16.03.2015, 07:23
    #38905472
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
Уважаемые, прошу помочь сделать отчет с помощью формы с датами из таблицы.
Есть таблица Заказы
Есть запрос из нее Заказы3
Есть форма с датами С ПО - Текущие заказы3
Нужен отчет Текущие заказы

Как сделать отчет по интервалу дат?
Или - Как передать даты с формы в запрос?

В общем задача - сделать выборку из таблицы по интервалу дат с помощью формы. Не так все просто, как я думал.
...
Рейтинг: 0 / 0
16.03.2015, 07:49
    #38905475
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
...
Рейтинг: 0 / 0
16.03.2015, 10:03
    #38905558
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
Navixo,
если еще актуально:
отчет с источником таблица "Заказы"
на нажатии кнопки (или после обновления поля "ПО") в форме выбора периода
Код: vbnet
1.
docmd.openReport "ИмяОтчета",,,"дата>=#" & format(forms!ИмяФормыВыбораПериода!С,"mm\/dd\/yyyy") & "# and дата<#" & format(forms!ИмяФормыВыбораПериода!ПО,"mm\/dd\/yyyy") & "#"
...
Рейтинг: 0 / 0
16.03.2015, 11:51
    #38905687
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
вернее:
Код: vbnet
1.
docmd.openReport "ИмяОтчета",,,"дата>=#" & format(me.С,"mm\/dd\/yyyy") & "# and дата<#" & format(me.ПО,"mm\/dd\/yyyy") & "#"
...
Рейтинг: 0 / 0
17.03.2015, 07:53
    #38906575
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
\\\\,

Спасибо! Почти работает, но как построить запрос по двум датам в разных полях [Дата заказа] и [Дата сдачи заказа]? Ваш пример фильтрует по одному полю. Понимаю, что надо изменить запрос Between, но не пойму как.

Текст существующего запроса:
SELECT Заказ.Код, Заказ.[Дата заказа], Заказ.[Дата сдачи заказа], Заказ.Заказчик, Заказ.Техзадание, Заказ.[Сумма заказа], Заказ.[Комментарий к сумме заказа], Заказ.[Вид платежа], Заказ.Предоплата, Заказ.Расходы, Заказ.Статус, ГруппаЗаказа.Исполнители, ГруппаЗаказа.Комментарий
FROM Заказ INNER JOIN ГруппаЗаказа ON Заказ.Код = ГруппаЗаказа.КодЗаказа WHERE (((Заказ.[Дата заказа]) Between [Forms]![Период]![txtDateFrom] And [Forms]![Период]![txtDateTo]));
...
Рейтинг: 0 / 0
17.03.2015, 09:07
    #38906615
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
Navixo...как построить запрос по двум датам в разных полях [Дата заказа] и [Дата сдачи заказа]?...А чего в итоге получить надо?

ЗЫ. Примеры стоит прикладывать в формате *.mdb (2002-2003)
...
Рейтинг: 0 / 0
17.03.2015, 09:26
    #38906641
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
\\\\,
Интервал записей между [Дата заказа] и [Дата сдачи заказа].

Сделал так:
SELECT Заказ.Код, Заказ.[Дата заказа], Заказ.[Дата сдачи заказа], Заказ.Заказчик, Заказ.Техзадание, Заказ.[Сумма заказа], Заказ.[Комментарий к сумме заказа], Заказ.[Вид платежа], Заказ.Предоплата, Заказ.Расходы, Заказ.Статус, ГруппаЗаказа.Исполнители, ГруппаЗаказа.Комментарий
FROM Заказ INNER JOIN ГруппаЗаказа ON Заказ.Код = ГруппаЗаказа.КодЗаказа WHERE ((Заказ.[Дата заказа]) Between [Forms]![Период]![txtDateFrom] And [Forms]![Период]![txtDateTo]) And ((Заказ.[Дата сдачи заказа]) Between [Forms]![Период]![txtDateFrom] And [Forms]![Период]![txtDateTo]);

Вроде работает, но как-то нет уверенности в верности решения.
...
Рейтинг: 0 / 0
17.03.2015, 09:50
    #38906668
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
\\\\,

Нет, ошибочно работает. Не выводит значения, где пустое поле [Дата сдачи заказа].
...
Рейтинг: 0 / 0
17.03.2015, 09:59
    #38906686
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
Это правильно работает. Добавьте условие на нуллы для обоих дат.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
WHERE 
(
   Датазаказа Between DateFrom And DateTo
   OR Датазаказа  IS NULL
) AND (
   Датасдачизаказа Between DateFrom And DateTo
   OR Датасдачизаказа IS NULL
)
AND (
   Датазаказа  IS NOT NULL OR Датасдачизаказа IS NOT NULL
)
...
Рейтинг: 0 / 0
17.03.2015, 09:59
    #38906688
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
Navixo...Интервал записей между [Дата заказа] и [Дата сдачи заказа]...Не понял. Тебе нужны заказы попадающие в интервал между указанными датами? Если да, то твой запрос не выдаст заказы у которых не попадают в указанный интервал значения [Дата заказа] и/или [Дата сдачи заказа] (перекрывающие твой интервал).

ЗЫ. Для оформления текстов запросов пользуйся тегами SRC см Помощь
...
Рейтинг: 0 / 0
17.03.2015, 10:44
    #38906752
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
П-Л,

Спасибо.
Но, если верно сделал, то все равно все подряд выводит.

Код: vbnet
1.
2.
3.
SELECT Заказ.Код, Заказ.[Дата заказа], Заказ.[Дата сдачи заказа], Заказ.Заказчик, Заказ.Техзадание, Заказ.[Сумма заказа], Заказ.[Комментарий к сумме заказа], Заказ.[Вид платежа], Заказ.Предоплата, Заказ.Расходы, Заказ.Статус, ГруппаЗаказа.Исполнители, ГруппаЗаказа.Комментарий
FROM Заказ INNER JOIN ГруппаЗаказа ON Заказ.Код=ГруппаЗаказа.КодЗаказа
WHERE ((Заказ.[Дата заказа]) Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo OR Заказ.[Дата заказа] IS NULL) And ((Заказ.[Дата сдачи заказа]) Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo OR Заказ.[Дата сдачи заказа] IS NULL) And Заказ.[Дата заказа] IS NOT NULL OR Заказ.[Дата сдачи заказа] IS NOT NULL;
...
Рейтинг: 0 / 0
17.03.2015, 10:59
    #38906768
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
NavixoП-Л,

Спасибо.
Но, если верно сделал, то все равно все подряд выводит.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
WHERE 
   (
      (Заказ.[Дата заказа]) Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo 
      OR Заказ.[Дата заказа] IS NULL
   ) And (
      (Заказ.[Дата сдачи заказа]) Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo
      OR Заказ.[Дата сдачи заказа] IS NULL
   ) And ( <==
      Заказ.[Дата заказа] IS NOT NULL OR Заказ.[Дата сдачи заказа] IS NOT NULL
   );      <==


Скобки не поставили. А скобки не поставили потому что полненились нормально сформатировать свою портянку. Не делайте чеерз жопу, делайте нормально. В теге не выбрали нужный язык.
...
Рейтинг: 0 / 0
17.03.2015, 11:38
    #38906817
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
П-Л,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT Заказ.Код, Заказ.[Дата заказа], Заказ.[Дата сдачи заказа], 
Заказ.Заказчик, Заказ.Техзадание, Заказ.[Сумма заказа], Заказ.[Комментарий к сумме заказа], Заказ.[Вид платежа], 
Заказ.Предоплата, Заказ.Расходы, Заказ.Статус, ГруппаЗаказа.Исполнители, ГруппаЗаказа.Комментарий
FROM Заказ INNER JOIN ГруппаЗаказа ON Заказ.Код=ГруппаЗаказа.КодЗаказа

WHERE 
((Заказ.[Дата заказа] Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo Or Заказ.[Дата заказа] Is Null) 
And 
(Заказ.[Дата сдачи заказа] Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo Or Заказ.[Дата сдачи заказа] Is Null) 
And 
(Заказ.[Дата заказа] Is Not Null Or Заказ.[Дата сдачи заказа] Is Not Null));



Не берет, к сожалению, другие и пустые даты в заданном интервале в отчет.
...
Рейтинг: 0 / 0
17.03.2015, 11:45
    #38906829
7558
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
???

что такое "пустая дата" кто-нибудь может мне пояснить?
...
Рейтинг: 0 / 0
17.03.2015, 11:57
    #38906849
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
7558,

Пустые значения в полях с датой.
...
Рейтинг: 0 / 0
17.03.2015, 12:00
    #38906857
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
Погоняйте запрос с условиям в WHERE каждым по отдельности - посмотрите, какие наборы данных будут получаться. Разберитесь, в чем у вас проблема.
...
Рейтинг: 0 / 0
17.03.2015, 13:19
    #38907011
Navixo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
П-Л,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT Заказ.Код, Заказ.[Дата заказа], Заказ.[Дата сдачи заказа], Заказ.Заказчик, Заказ.Техзадание, 
Заказ.[Сумма заказа], Заказ.[Комментарий к сумме заказа], Заказ.[Вид платежа], 
Заказ.Предоплата, Заказ.Расходы, Заказ.Статус
FROM Заказ
WHERE (((Заказ.[Дата заказа]) Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo Or (Заказ.[Дата заказа]) Is Null) 
And ((Заказ.[Дата сдачи заказа]) Between Forms!Период!txtDateFrom 
And Forms!Период!txtDateTo Or (Заказ.[Дата сдачи заказа]) Is Null)) Or (((Заказ.[Дата заказа]) Is Not Null 
And ((Заказ.[Дата заказа]) Between Forms!Период!txtDateFrom And Forms!Период!txtDateTo Or (Заказ.[Дата заказа]) Is Null)) 
And ((Заказ.[Дата сдачи заказа]) Is Not Null 
And ((Заказ.[Дата сдачи заказа]) Between Forms!Период!txtDateFrom 
And Forms!Период!txtDateTo Or (Заказ.[Дата сдачи заказа]) Is Null)));



Ближе к тому, что я хотел. С группировкой ещё что-то неверно делал.
...
Рейтинг: 0 / 0
17.03.2015, 13:34
    #38907043
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
NavixoНе берет, к сожалению, другие и пустые даты в заданном интервале в отчет.Стесняюсь спросить: а какому интервалу, по Вашему, должна принадлежать "пустая дата" ?
...
Рейтинг: 0 / 0
17.03.2015, 13:37
    #38907048
4527
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
sdkuСтесняюсь спросить: а какому интервалу, по Вашему, должна принадлежать "пустая дата" ?

я бы еще спросил какие такие "другие" имеются в виду, но тоже стесняюс
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.06.2017, 10:08
    #39471947
Nightsword
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма выборки по датам из таблицы или запроса
sdku,
Спасибо вам огромное за этот код, я смог выполнить вывод отчета по датам из полей, Вы спасли меня, теперь дипломный проект готов) спасибо Вам еще раз
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форма выборки по датам из таблицы или запроса / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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