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

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

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

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

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

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

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

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

Нет, ошибочно работает. Не выводит значения, где пустое поле [Дата сдачи заказа].
...
Рейтинг: 0 / 0
Форма выборки по датам из таблицы или запроса
    #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
Форма выборки по датам из таблицы или запроса
    #38906688
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Navixo...Интервал записей между [Дата заказа] и [Дата сдачи заказа]...Не понял. Тебе нужны заказы попадающие в интервал между указанными датами? Если да, то твой запрос не выдаст заказы у которых не попадают в указанный интервал значения [Дата заказа] и/или [Дата сдачи заказа] (перекрывающие твой интервал).

ЗЫ. Для оформления текстов запросов пользуйся тегами SRC см Помощь
...
Рейтинг: 0 / 0
Форма выборки по датам из таблицы или запроса
    #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
Форма выборки по датам из таблицы или запроса
    #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
Форма выборки по датам из таблицы или запроса
    #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
Форма выборки по датам из таблицы или запроса
    #38906829
7558
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
???

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

Пустые значения в полях с датой.
...
Рейтинг: 0 / 0
Форма выборки по датам из таблицы или запроса
    #38906857
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погоняйте запрос с условиям в WHERE каждым по отдельности - посмотрите, какие наборы данных будут получаться. Разберитесь, в чем у вас проблема.
...
Рейтинг: 0 / 0
Форма выборки по датам из таблицы или запроса
    #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
Форма выборки по датам из таблицы или запроса
    #38907043
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NavixoНе берет, к сожалению, другие и пустые даты в заданном интервале в отчет.Стесняюсь спросить: а какому интервалу, по Вашему, должна принадлежать "пустая дата" ?
...
Рейтинг: 0 / 0
Форма выборки по датам из таблицы или запроса
    #38907048
4527
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuСтесняюсь спросить: а какому интервалу, по Вашему, должна принадлежать "пустая дата" ?

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


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