У меня есть пять похожих интерфейсных отчетов Access среди нескольких других. Все эти пять используют Группировать по неделям, чтобы сгруппировать записи в отчете по субботам. Один отчет выбирает сворачивание к пятницам вместо этого; это недопустимо.
Интерфейс извлекает данные из SQL Серверная часть через сквозные запросы / соединения без DSN. Это отлично работает по всем направлениям. Во всех отчетах используется одна указанная c хранимая процедура, которая имеет несколько полей даты, но этот извлекает другие поля даты из дополнительной другой базы данных. В этом отчете используется это поле даты в качестве группы, но оно сводится к пятницам. Есть еще одно поле даты, и когда я пытаюсь сгруппировать его, отчет смещается до четверга! Если я использую любое из полей даты из хранимой процедуры, я могу свернуть отчет до субботы. Я посмотрел на необработанные данные, которые появляются в ptq, и поля даты выглядят одинаково. В этих полях даты есть разные даты для любой конкретной записи, и это следует ожидать на основании различной даты отгрузки, даты доставки, полной даты и т. Д. Кажется, в этих двух полях даты, связанных с этим конкретным отчетом c, что-то присуще, но по номиналу я не могу это определить.
Я скопировал данные в таблицу и создал новый отчет, источник записей которого это та таблица, и оба находятся в своем новом небольшом accdb, хотя я, кажется, не могу включить его сюда.
Когда я пробую разные поля даты в группе и их поле даты в группе в заголовке, группы отчетов по пятницам или другим несовместимым дням недели для JobTenderDate и JobDeliveryDate, но группируются по субботам, когда MFG и REQDATE используются для группировки с соответствующей датой в соответствующей группе в заголовке. В других четырех отчетах, которые работают, используются поля MFG, REQDATE или другие поля даты, которые позволяют группировать данные по субботам. Почему эти два поля даты не позволяют Группе сворачиваться до субботы?
В хранимой процедуре все эти поля даты - SQL CAST AS DATE, чтобы убрать метки времени. И в SQL JOIN требуется COLLATE, чтобы данные были довольны друг другом. Вот ОТ, СОЕДИНЕНИЕ, СОБЫТИЯ И ГДЕ:
FROM
dbo.vwRPUpdate_Rel Update_Rel
INNER JOIN
CompanyE.dbo.WipMaster wm
ON LEFT(wm.Job,6) = UPDATE_REL.JOB COLLATE SQL_Latin1_General_CP1_CI_AS
AND SUBSTRING(wm.Job,7,1) = UPDATE_REL.REL COLLATE SQL_Latin1_General_CP1_CI_AS
WHERE wm.Job LIKE '%A' AND wm.JobDeliveryDate BETWEEN @FromDate ANd @ToDate
Вот таблица и данные
Job JobTenderDate JobDeliveryDate MFG REQDATE
RD83920A 2020-03-05 2020-03-06 2020-03-07 2020-03-07
RD83930A 2020-03-10 2020-03-27 2020-03-28 2020-03-28
N432470A 2020-03-13 2020-03-27 2020-03-28 2020-03-28
N432490A 2020-03-13 2020-03-27 2020-03-28 2020-03-28
C139080A 2020-03-13 2020-03-27 2020-03-28 2020-03-28
1836530A 2020-03-09 2020-03-27 2020-03-28 2020-03-28
1901272A 2020-02-28 2020-03-27 2020-03-28 2020-03-28
1902560A 2020-03-04 2020-03-27 2020-03-28 2020-03-28
1902422A 2020-03-13 2020-04-03 2020-04-04 2020-04-04
1903130A 2020-03-10 2020-04-03 2020-04-04 2020-04-04
1903450A 2020-03-11 2020-04-03 2020-04-04 2020-04-04
2000330A 2020-03-11 2020-04-03 2020-04-04 2020-04-04
2000570A 2020-03-02 2020-04-03 2020-04-04 2020-04-04
2070260A 2020-03-13 2020-04-03 2020-04-04 2020-04-04
2070270A 2020-03-13 2020-04-03 2020-04-04 2020-04-04
2031720A 2020-03-17 2020-04-03 2020-04-04 2020-04-04
N433080A 2020-03-31 2020-04-03 2020-04-04 2020-04-04
N433160A 2020-03-31 2020-04-03 2020-04-04 2020-04-04
2090032A 2020-03-11 2020-04-03 2020-04-04 2020-04-04
C139210A 2020-03-27 2020-04-03 2020-04-04 2020-04-04
C139330A 2020-04-01 2020-04-10 2020-04-04 2020-04-04
C139170A 2020-03-27 2020-04-10 2020-04-10 2020-04-10
C139190A 2020-03-27 2020-04-10 2020-04-10 2020-04-10
N432810A 2020-03-25 2020-04-10 2020-04-11 2020-04-11
2031850A 2020-03-27 2020-04-10 2020-04-10 2020-04-10
2031960A 2020-03-20 2020-04-10 2020-04-11 2020-04-11
2070090A 2020-01-24 2020-04-10 2020-04-11 2020-04-11
C139090A 2020-03-24 2020-04-10 2020-04-11 2020-04-11
2000260A 2020-03-18 2020-04-10 2020-04-11 2020-04-11
2000060A 2020-03-17 2020-04-10 2020-04-11 2020-04-11
2030460A 2020-03-13 2020-04-10 2020-04-11 2020-04-11
2031340A 2020-03-18 2020-04-10 2020-04-11 2020-04-11
2031380A 2020-03-27 2020-04-10 2020-04-10 2020-04-10
1937672A 2020-03-18 2020-04-10 2020-04-11 2020-04-11
1901260A 2020-02-18 2020-04-10 2020-04-11 2020-04-11
1903040A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
1902920A 2020-03-02 2020-04-17 2020-04-18 2020-04-18
1937981A 2020-03-25 2020-04-17 2020-04-18 2020-04-18
1935630A 2020-03-20 2020-04-17 2020-04-18 2020-04-18
1937200A 2020-03-20 2020-04-17 2020-04-18 2020-04-18
1930240A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
1931611A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
1931900A 2020-03-31 2020-04-17 2020-04-18 2020-04-18
1934102A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
2031042A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
2031160A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
2000700A 2020-03-20 2020-04-17 2020-04-18 2020-04-18
2030211A 2020-03-13 2020-04-17 2020-04-18 2020-04-18
2000080A 2020-03-20 2020-04-17 2020-04-18 2020-04-18
1938941A 2020-03-03 2020-04-17 2020-04-18 2020-04-18
1938942A 2020-03-17 2020-04-17 2020-04-18 2020-04-18
1938990A 2020-02-27 2020-04-17 2020-03-28 2020-03-28
C139110A 2020-03-20 2020-04-17 2020-04-18 2020-04-18
2031980A 2020-03-24 2020-04-17 2020-04-18 2020-04-18
2031550A 2020-03-25 2020-04-17 2020-04-18 2020-04-18
C139150A 2020-03-25 2020-04-17 2020-04-18 2020-04-18
C139130A 2020-03-20 2020-04-20 2020-04-18 2020-04-18
2070280A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
2030810A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
2031760A 2020-03-27 2020-04-24 2020-04-25 2020-04-25
2031820A 2020-04-01 2020-04-24 2020-04-25 2020-04-25
C139220A 2020-03-27 2020-04-24 2020-04-25 2020-04-25
1939060A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
2000120A 2020-04-01 2020-04-24 2020-04-25 2020-04-25
1938320A 2020-03-17 2020-04-24 2020-04-25 2020-04-25
2000500A 2020-03-27 2020-04-24 2020-04-24 2020-04-24
2031210A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
2031270A 2020-03-27 2020-04-24 2020-04-24 2020-04-24
2031520A 2020-03-26 2020-04-24 2020-04-25 2020-04-25
2031540A 2020-03-31 2020-04-24 2020-04-25 2020-04-25
1934370A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
1934850A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
1931600A 2020-03-26 2020-04-24 2020-04-25 2020-04-25
1935710A 2020-03-18 2020-04-24 2020-04-25 2020-04-25
1936230A 2020-03-31 2020-04-24 2020-04-25 2020-04-25
1938183A 2020-03-02 2020-04-24 2020-04-25 2020-04-25
1937940A 2020-03-27 2020-04-24 2020-04-25 2020-04-25
1903160A 2020-03-31 2020-04-24 2020-04-25 2020-04-25
1903360A 2020-04-01 2020-04-24 2020-04-25 2020-04-25
1903371A 2020-03-27 2020-04-24 2020-04-25 2020-04-25
1903420A 2020-03-26 2020-04-24 2020-04-25 2020-04-25
1902392A 2020-04-01 2020-04-24 2020-04-25 2020-04-25
1901300A 2020-03-27 2020-04-24 2020-04-25 2020-04-25
1901172A 2020-03-25 2020-04-24 2020-04-25 2020-04-25
1902220A 2020-04-01 2020-05-01 2020-05-02 2020-05-02
1902980A 2020-03-25 2020-05-01 2020-05-02 2020-05-02
1937950A 2020-03-17 2020-05-01 2020-05-02 2020-05-02
1932680A 2020-03-27 2020-05-01 2020-05-02 2020-05-02
1934893A 2020-03-25 2020-05-01 2020-05-02 2020-05-02
2031440A 2020-04-01 2020-05-01 2020-05-02 2020-05-02
2030212A 2020-03-20 2020-05-01 2020-05-02 2020-05-02
2030213A 2020-03-27 2020-05-01 2020-05-02 2020-05-02
2030240A 2020-03-25 2020-05-01 2020-05-02 2020-05-02
2030140A 2020-04-01 2020-05-01 2020-05-02 2020-05-02
2030180A 2020-04-01 2020-05-01 2020-05-02 2020-05-02
2030640A 2020-03-18 2020-05-01 2020-05-02 2020-05-02
2000590A 2020-04-01 2020-05-01 2020-05-02 2020-05-02
2030430A 2020-03-20 2020-05-08 2020-05-09 2020-05-09
1938184A 2020-03-02 2020-05-08 2020-05-09 2020-05-09
1937600A 2020-03-26 2020-05-08 2020-05-09 2020-05-09
2070240A 2020-03-02 2020-05-08 2020-05-09 2020-05-09
2000040A 2020-04-01 2020-05-15 2020-05-16 2020-05-16
2000090A 2020-03-26 2020-05-22 2020-05-23 2020-05-23
2000100A 2020-03-26 2020-05-22 2020-05-23 2020-05-23
2032050A 2020-03-31 2020-05-22 2020-05-23 2020-05-23
2070230A 2020-02-25 2020-06-12 2020-06-13 2020-06-13
1901273A 2020-03-17 2020-06-26 2020-06-27 2020-06-27
1970440A 2019-07-02 2020-12-12 2020-12-12 2020-12-12
N430250A 2019-12-04 2020-12-26 2020-12-31 2020-12-31
новая таблица проверяет правильный тип поля при переходе.
Все отчеты группируются по неделям. Других параметров для настройки по неделям нет.
Куда бы я применил код datepart ("ww", [JobTenderDate])?
Когда я смотрю на даты в четыре поля даты, я вижу, что MFG и REQDATE - это в основном даты субботы, начиная с нескольких дат пятницы. При сортировке по REQDATE все даты 4/10 сворачиваются до пятницы 4/10, хотя дат 4/11 больше. Я не понимаю, как группа определяет, какую дату свернуть. И когда я смотрю на JobDeliveryDate, его даты в основном относятся к предыдущей пятнице, а FobTenderDate повсеместно и в основном не совпадает с датами свертывания в субботу. Это где код, который вы предлагаете, вступит в игру? Я до сих пор не понимаю, где именно это будет размещено. Или здесь есть какая-то информация, которая может быть изложена в группе Access для определения характеристик?
ОК, поэтому отчет выполняет то, что ему сообщается, с указанными датами, в зависимости от того, какое поле даты используется. Как заставить все группы всегда сверяться по субботам и содержать даты недели, предшествующей этой субботе?
TIA, Tim