レポートのデータ ソースを指定するには、 RecordSource プロパティを使用します。 読み取り/書き込みが可能な String です。
構文
式。RecordSource
式: Report オブジェクトを表す変数。
解説
RecordSource プロパティの設定値は、テーブル名、クエリ名、または SQL ステートメントです。 次に設定値の例を示します。
| 設定例 | 説明 |
|---|---|
| 社員 | Employees テーブルをデータのソースとして指定するテーブル名。 |
SELECT Orders!OrderDate FROM Orders; |
"受注" テーブルの "受注日" フィールドをデータのソースとして指定する SQL ステートメント。 コントロールの ControlSource プロパティを OrderDate に設定することで、フォームまたはレポートのコントロールを "受注日" テーブルの "受注日" フィールドにバインドできます。 |
注:
開いているフォームやレポートのレコード ソースを変更すると、基になるデータの再クエリが自動的に行われます。 フォームの Recordset プロパティを実行時に設定すると、そのフォームの RecordSource プロパティが更新されます。
フォームやレポートを作成した後に、RecordSource プロパティを変更すると、基になるデータを変更できます。 RecordSource プロパティは、再使用可能なフォームやレポートを作成するときにも効果的です。 たとえば、標準デザインが組み込まれたレポートを作成し、そのレポートをコピーし、 RecordSource プロパティを変更して、別のテーブル、クエリ、または SQL ステートメントのデータを表示することができます。
例
次の例では、フォームの RecordSource プロパティを "顧客 " テーブルに設定します。
Forms!frmCustomers.RecordSource = "Customers"
次の例では、[cmboCompanyName] コンボ ボックス コントロールで選択した会社名に応じて、フォームのレコード ソースを "得意先" テーブルの 1 つのレコードに変更します。 このコンボ ボックスには、顧客 ID (バインドされた列内) および会社名を返す SQL ステートメントによってデータが入ります。 CustomerID は、テキスト データ型です。
Sub cmboCompanyName_AfterUpdate()
Dim strNewRecord As String
strNewRecord = "SELECT * FROM Customers " _
& " WHERE CustomerID = '" _
& Me!cmboCompanyName.Value & "'"
Me.RecordSource = strNewRecord
End Sub
次の例は、構造化照会言語 (SQL) ステートメントを使用して、レポートを開くときにレポートのデータ ソースを確立する方法を示します。
Private Sub Report_Open(Cancel As Integer)
On Error GoTo Error_Handler
Me.Caption = ?My Application?
DoCmd.OpenForm FormName:=?frmReportSelector_MemberList?, _
Windowmode:=acDialog
?Cancel the report if ?cancel? was selected on the dialog form.
If Forms!frmReportSelector_MemberList!txtContinue = ?no? Then
Cancel = True
GoTo Exit_Procedure
End If
Me.RecordSource = ReplaceWhereClause(Me.RecordSource, _
Forms!frmReportSelector_MemberList!txtWhereClause)
Exit_Procedure:
Exit Sub
Error_Handler:
MsgBox Err.Number & ?: ? & Err.Description
Resume Exit_Procedure
Resume
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。