"RecordSource/レコードソース" プロパティ

適用対象

Form オブジェクト

Report オブジェクト

"RecordSource/レコード ソース" プロパティを使用して、フォームまたはレポートのデータのソースを指定できます。文字列型の値の読み取り/書き込みが可能です。

expression.RecordSource

expression は必須です。「適用対象」の一覧のオブジェクトのうちの 1 つを返す式です。

解説

"RecordSource/レコード ソース" プロパティ設定には、テーブル名、クエリ名、または SQL ステートメントを使用できます。たとえば、次の設定を使用することができます。

サンプル設定

説明

Employees

データのソースとして Employees テーブルを指定するテーブル名。

SELECT Orders!OrderDate FROM Orders;

データのソースとして Orders テーブルの OrderDate フィールドを指定する SQL ステートメント。コントロールの ControlSource プロパティを OrderDate に設定して、フォームまたはレポートのコントロールを Orders テーブルの OrderDate フィールドにバインドすることができます。


注: "RecordSource/レコード ソース" プロパティを設定するには、フォームまたはレポートのプロパティ シート、マクロ、または Visual Basic for Applications (VBA) コードを使用します。

VBA では、文字列式を使用して、このプロパティを設定します。

注: 開いているフォームまたはレポートのレコード ソースを変更すると、基になるデータのクエリが自動的に再実行されます。フォームの "Recordset/レコードセット" プロパティがランタイムで設定されると、フォームの "RecordSource/レコード ソース" プロパティは更新されます。

フォームまたはレポートを作成した後は、"RecordSource/レコード ソース" プロパティを変更してデータのソースを変更できます。"RecordSource/レコード ソース" プロパティは、再利用可能なフォームまたはレポートを作成する場合にも役立ちます。たとえば、標準のデザインを組み込んだフォームを作成し、そのフォームをコピーして、別のテーブル、クエリ、または SQL ステートメントのデータを表示するように "RecordSource/レコード ソース" プロパティを変更することができます。

フォームのレコード ソースに含まれるレコード数を制限すると、パフォーマンスを強化できます。特に、アプリケーションがネットワーク上で実行される場合に有効です。たとえば、ユーザーが選択した条件に基づいて、フォームの "RecordSource/レコード ソース" プロパティを、単一のレコードを返し、フォームのレコードを変更する SQL ステートメントに設定できます。

次の例では、フォームの "RecordSource/レコード ソース" プロパティを Customers テーブルに設定します。

Forms!frmCustomers.RecordSource = "Customers"

次の例では、cmboCompanyName コンボ ボックス コントロールで選択されている会社名に応じて、フォームのレコード ソースを Customers テーブルの単一のレコードに変更します。このコンボ ボックスには、(バインドされている列の) 顧客 ID と会社名を返す SQL ステートメントが表示されます。CustomerID はテキスト データ型です。

Sub cmboCompanyName_AfterUpdate()
Dim strNewRecord As String
strNewRecord = "SELECT * FROM Customers " _
& " WHERE CustomerID = '" _
& Me!cmboCompanyName.Value & "'"
Me.RecordSource = strNewRecord
End Sub
スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×