Можно ли использовать VBA для передачи параметра в качестве критерия для отчета с группировкой / агрегацией в MS Access? - PullRequest
0 голосов
/ 24 апреля 2020

Я являюсь отчетом в Access, в котором указывается общее количество часов сотрудника за определенный период времени. Ниже приведена копия заявления SQL из этого отчета, и он отлично работает с этими датами. Но когда я пытался вызвать отчет из другой формы (используя VBA), он постоянно запрашивает значения параметров.

SELECT tbl_Work_Logs.Employee_Number, Sum(tbl_Work_Logs.Lab_Office_hrs) AS [lab\office], Sum(tbl_Work_Logs.Well_site_hrs) AS Wellsite, Sum(tbl_Work_Logs.OverTime_hrs) AS OverTime, Sum(tbl_Work_Logs.Sick_hrs) AS [Sick Leave], Sum(tbl_Work_Logs.Training_hrs) AS Trainings, Sum(tbl_Work_Logs.Stat_holiday_hrs) AS [Stat Holidays], Sum(tbl_Work_Logs.Vacation_hrs) AS Vacations, Sum(tbl_Work_Logs.Shift_Dift_Aft_hrs) AS [Shift Diff Aft], Sum(tbl_Work_Logs.Shift_Dift_Night_hrs) AS Shift_Diff_Night, Sum(tbl_Work_Logs.H2S_Diff_Hrs) AS [H2S Diff], Sum(tbl_Work_Logs.Field_Pay_Hrs) AS [Field Pay], Sum(tbl_Work_Logs.Total_Hrs_DBCalc) AS Total, Employee.First_Name, Employee.[Middle Name], Employee.Last_Name, Employee.[Employee Group], Employee.Job_Title, Employee.[Access Level], Employee.Stratum_Location_ID, Max(tbl_Work_Logs.Date_Worked) AS Pay_End_Date, Min(tbl_Work_Logs.Date_Worked) AS Pay_Start_Date
FROM Employee INNER JOIN tbl_Work_Logs ON Employee.Employee_Number = tbl_Work_Logs.Employee_Number
WHERE (((tbl_Work_Logs.Date_Worked) Between #3/15/2020# And #3/28/2020#))
GROUP BY tbl_Work_Logs.Employee_Number, Employee.First_Name, Employee.[Middle Name], Employee.Last_Name, Employee.[Employee Group], Employee.Job_Title, Employee.[Access Level], Employee.Stratum_Location_ID
ORDER BY tbl_Work_Logs.Employee_Number;

Вот мой код из другой формы:

DoCmd.OpenReport "rpt_employees_TS_summary_by_Group", acViewPreview, , "[employee].[employee group]= '" & Me.cbo_emp_group.Column(0) & "' and [tbl_work_logs].[date_worked] between #" & Me.tbx_Start_date & "#" & " and #" & Me.tbx_EndDate & "#", acDialog

Но всплывает маленькое всплывающее окно с запросом значения параметра поля Date_Worked.
Работа вокруг этого назначать даты (из отчета SQL Дизайн) в текстовые поля формы даты. Но я не хочу этого делать, потому что, когда я исправляю отчет и пытаюсь предварительно просмотреть его, у него будет ошибка, поскольку он не сможет найти значения в формах (если он не запущен). Заранее спасибо за помощь. Andy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...