次の方法で共有


Report.RecordSource プロパティ (Access)

RecordSource プロパティを使用して、レポートのデータのソースを指定します。 読み取り/書き込みが可能な String です。

構文

Recordsource

Report オブジェクトを表す変数。

注釈

RecordSource プロパティの設定値は、テーブル名、クエリ名、または SQL ステートメントです。 次に設定値の例を示します。

設定例 説明
社員 Employees テーブルをデータソースとして指定するテーブル名。
SELECT Orders!OrderDate FROM Orders; Orders テーブルの OrderDate フィールドをデータソースとして指定する SQL ステートメント。 フォームまたはレポートのコントロールを Orders テーブルの OrderDate フィールドにバインドするには、コントロールの ControlSource プロパティを OrderDate に設定します。

注:

開いているフォームやレポートのレコード ソースを変更すると、基になるデータの再クエリが自動的に行われます。 フォームの Recordset プロパティを実行時に設定すると、そのフォームの RecordSource プロパティが更新されます。

フォームやレポートを作成した後に、RecordSource プロパティを変更すると、基になるデータを変更できます。 RecordSource プロパティは、再使用可能なフォームやレポートを作成するときにも効果的です。 たとえば、標準デザインを組み込んだレポートを作成し、レポートをコピーして RecordSource プロパティを変更して、別のテーブル、クエリ、または SQL ステートメントのデータを表示できます。

次の例では、フォームの RecordSource プロパティを Customers テーブルに設定します。

Forms!frmCustomers.RecordSource = "Customers"

次の例では、cmboCompanyName コンボ ボックス コントロールで選択されている会社名に応じて、フォームのレコード ソースを Customers テーブルの 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 のサポートおよびフィードバックを参照してください。