Я пытаюсь сделать кнопку в форме доступа, которая будет запускать пару запросов, а затем взять результирующие наборы записей и поместить их в отчеты. Я дошел до того момента, когда кнопка вызывается модулем, он создает соответствующие наборы записей, а затем создает отчеты. Тем не менее, отчеты пустые, у них нет данных в них из наборов записей. Я думаю, что моя проблема в том, что я неправильно назначил источник данных для отчетов, но я не могу понять, как это сделать.Настройка источника данных для отчета
Private Function showReport(sectionHeading As String, SQL As String, recordset As ADODB.Recordset)
Dim textBox As Access.textBox ' textbox control
Dim label As Access.label ' label control
Dim report As report ' hold report object
Dim controlTop As Long ' holds top value of control position
Dim controlLeft As Long ' holds left value of control position
Dim title As String 'holds title of report
Dim i As Integer 'iterator
i = 0
title = sectionHeading
controlLeft = 0
controlTop = 0
Set report = CreateReport
report.Width = 8500
report.Caption = title
Set label = CreateReportControl(report.Name, acLabel, _
acPageHeader, , "Title", 0, 0)
label.FontBold = True
label.FontSize = 12
label.SizeToFit
For Each fld In recordset.fields
Set textBox = CreateReportControl(report.Name, acTextBox, _
acDetail, , fld.Name, controlLeft + 1500, controlTop)
textBox.SizeToFit
Set label = CreateReportControl(report.Name, acLabel, acDetail, _
textBox.Name, fld.Name, controlLeft, controlTop, 1400, textBox.Height)
label.SizeToFit
controlTop = controlTop + textBox.Height + 25
i = i + 1
Next
Set label = CreateReportControl(report.Name, acLabel, _
acPageFooter, , Now(), 0, 0)
Set textBox = CreateReportControl(report.Name, acTextBox, _
acPageFooter, , "='Page ' & [Page] & ' of ' & [Pages]", report.Width - 1000, 0)
textBox.SizeToFit
report.RecordSource = SQL
DoCmd.OpenReport report.Name, acViewPreview
recordset.Close
Set recordset = Nothing
Set report = Nothing
End Function
К чему вы настроили свой источник данных? Вы не показываете, что здесь - это запрос или таблица - что такое SQL, если это запрос? Если вы откроете отчет сам по себе - есть ли какие-либо страницы с данными? Что такое «CreateReport» и «CreateReportControl»? – dbmitch
Какую версию MS-Access вы используете - пожалуйста, обновите свои теги – dbmitch
Ну, проблема в том, что я не нашел способа установить источник данных из внешнего модуля для отчета. Цель состоит в том, чтобы источник данных был запросом. Когда я запускаю его, отчет открывается с правильным форматированием, но без каких-либо данных просто #Name? в каждом поле. – Ulthran