Привет, это моя цель. У меня есть поле даты начала (start_Date) и конечной даты (end_Date) и отчет, который имеет кросс-таблицу в качестве источника записи. Я хочу иметь возможность сортировать данные в своем отчете на основе дат, указанных в форме. Я попробовал 3 разных подхода.Проблема с ссылкой MS Access с полями формы
Запуск макроса и открытие отчета с которой условие в этом случае доступа будет жаловаться и говорить «[Отчеты]! [AuditPTETotal]! [Дата] не является допустимой ссылка»
Настройка «где условие» моего отчета через VBA. Другая ссылочная ошибка, но на этот раз она говорит, что поля моих форм недопустимы.
Private Sub ViewReport_Click() Dim strWhere As String If Not IsNull(Me.start_Date) Then strWhere = strWhere & " AND [Reports]![AuditPTETotal]![Date] >=#" & [Forms]! [AuditPTETotals]![start_Date] & "# " End If If Not IsNull(Me.end_Date) Then strWhere = strWhere & " AND [Reports]![AuditPTETotal]![Date] <=#" & [Forms]! [AuditPTETotals]![end_Date] & "# " End If DoCmd.OpenReport "AuditPTETotal", acViewNormal, , strWhere End Sub
И, наконец, передавая мои значения форм в запрос. Ни один из этих подходов не работал для меня, и мне действительно нужно сделать это. Я не в порядке. Любая помощь будет оценена по достоинству.
Запрос
PARAMETERS [Forms]![AuditPTETotals]![start_Date] DateTime, [Forms]![AuditPTETotals]! [end_Date] DateTime;
TRANSFORM Sum(ScrapCollection.PTEtotal) AS SumOfPTEtotal
SELECT ScrapCollection.Date, ScrapCollection.regNum
FROM ScrapCollection INNER JOIN (ScrapTireType INNER JOIN ScrapCollectionTireType ON (ScrapTireType.scrapTireTypeID = ScrapCollectionTireType.scrapTireTypeID) AND (ScrapTireType.scrapTireTypeID = ScrapCollectionTireType.scrapTireTypeID)) ON ScrapCollection.scrapCollectionID = ScrapCollectionTireType.scrapCollectionID
WHERE (((ScrapCollection.Date) Between [Forms]![AuditPTETotals]![start_Date] And [Forms]![AuditPTETotals]![end_Date]))
GROUP BY ScrapCollection.Date, ScrapCollection.regNum
PIVOT ScrapTireType.description;
Вы говорите, что вы хотите отсортировать дату, но ваш код подсказывает, что вы хотите отфильтровать дату, которую вы хотите сделать? Для кросс-таблиц, если вы хотите отфильтровать с помощью формы, вы должны включить параметр. – Fionnuala
Это '[Reports]! [AuditPTETotal]! [Date]' предполагает, что у вас есть поле или элемент управления, называемый «Date». Дата является зарезервированным словом и не должна использоваться для обозначения объектов. – Fionnuala
По существу, я хочу, чтобы в моем отчете отображались только записи, которые находятся между диапазоном дат, заданным start_Date и end_Date. – d9120