У меня есть отчет с несколькими вложенными отчетами, которые все извлекают данные из одной таблицы. Единственная причина, по которой я сделал их вложенными отчетами, заключается в ограничении размера при использовании Access для создания отчетов (21 дюйм). У меня есть форма (frmService
), которая загружается из другой формы (frmWorkOrders
, но это не имеет значения, я не думаю), и она показывает одну запись в tblServiceRecord
. Форма открывается правильно, корректно работает с одной и той же записью, однако на frmService
у меня есть элемент управления (кнопка), который открывает отчет (rptServiceRecord
), чтобы мы могли распечатать запись для наших клиентов. В любом случае, отчет ВСЕГДА отображает НЕКОТОРЫЕ из каждой записи, но не все части нескольких записей.
У меня есть несколько подчиненных отчетов (srptFirstStage
, srptSecondStage
и т. Д.), И только два вложенных отчета, которые печатают каждую запись, - это два перечисленных выше. Все остальные подчиненные отчеты печатают только связанную запись, которую я хочу, чтобы она распечатывалась, даже если в базе данных есть несколько записей. Самая странная часть, и часть, которая мешает мне решить эту проблему, состоит в том, что все подотчеты были созданы одинаково. Сам отчет имеет фильтр (см. Код ниже), но ни в одном из подчиненных отчетов этот фильтр отсутствует. У меня также есть фильтр при нагрузке, отмеченный как Yes
. Я также попытался использовать запрос для создания этого отчета, используя следующий SQL:
SELECT tblServiceRecord.*, tblWorkOrder.Task, [FName] & " " & [LName] AS FullName, "WD0" & [tblWorkOrder]![ID] AS WorkOrder
FROM tblServiceRecord INNER JOIN (tblCustomers RIGHT JOIN tblWorkOrder ON tblCustomers.ID = tblWorkOrder.CustomerID) ON tblServiceRecord.WorkOrderID = tblWorkOrder.ID
WHERE (((tblServiceRecord.WorkOrderID)=[Forms]![frmService]![txtWO]));
При отображении запроса в представлении «Таблица» отображается правильная информация, и в ней не перечисляются несколько строк из таблиц. Поэтому я не совсем уверен, почему в отчете отображается несколько строк, хотя вторые строки srptFirstStage
и srptSecondStage
отображаются пустыми.
Чтобы открыть отчет (rptServiceRecord
) из элемента управления, который я использую:
Private Sub Command275_Click()
On Error GoTo Command275_Click_Err
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "rptServiceRecord", acViewPreview, , "[WorkOrderID] = Forms.[frmService].[txtWO]", acNormal
Command275_Click_Exit:
Exit Sub
Command275_Click_Err:
MsgBox Error$
Resume Command275_Click_Exit
End Sub