Попытка открыть отчет для конкретной записи, но он продолжает показывать все записи - вроде? - PullRequest
0 голосов
/ 24 января 2019

У меня есть отчет с несколькими вложенными отчетами, которые все извлекают данные из одной таблицы. Единственная причина, по которой я сделал их вложенными отчетами, заключается в ограничении размера при использовании 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   

1 Ответ

0 голосов
/ 24 января 2019

Попробуйте, если WorkOrderID числовое поле:

DoCmd.OpenReport "rptServiceRecord", acViewPreview, , "[WorkOrderID] = " & Forms("frmService")("txtWO").Value, acNormal

Попробуйте, если WorkOrderID является строковым полем:

DoCmd.OpenReport "rptServiceRecord", acViewPreview, , "[WorkOrderID] = '" & Forms("frmService")("txtWO").Value & "'", acNormal
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...