Form.RecordSource プロパティ (Access)
RecordSource プロパティを使用して、フォームのデータのソースを指定します。 読み取り/書き込みが可能な String です。
構文
式。Recordsource
expressionForm オブジェクトを表す変数です。
注釈
RecordSource プロパティの設定値は、テーブル名、クエリ名、または SQL ステートメントです。 次に設定値の例を示します。
設定例 | 説明 |
---|---|
社員 | Employees テーブルをデータソースとして指定するテーブル名。 |
SELECT Orders!OrderDate FROM Orders; |
Orders テーブルの OrderDate フィールドをデータソースとして指定する SQL ステートメント。 フォームまたはレポートのコントロールを Orders テーブルの OrderDate フィールドにバインドするには、コントロールの ControlSource プロパティを OrderDate に設定します。 |
注:
開いているフォームやレポートのレコード ソースを変更すると、基になるデータの再クエリが自動的に行われます。 フォームの Recordset プロパティを実行時に設定すると、そのフォームの RecordSource プロパティが更新されます。
フォームやレポートを作成した後に、RecordSource プロパティを変更すると、基になるデータを変更できます。 RecordSource プロパティは、再使用可能なフォームやレポートを作成するときにも効果的です。 たとえば、標準デザインを組み込んだフォームを作成し、フォームをコピーして RecordSource プロパティを変更して、別のテーブル、クエリ、または SQL ステートメントのデータを表示できます。
フォームのレコード ソースに含まれるレコード数を制限すると、特にアプリケーションがネットワーク上で稼働している場合、処理効率を向上させることができます。 たとえば、フォームの "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
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示