HOME > 即効テクニック > AccessVBA > フォーム・レポート > 1つのフォームで複数のテーブルを管理する

即効テクニック

フォーム・レポート

1つのフォームで複数のテーブルを管理する

(Access 97)
レコードソースにテーブルを設定している場合に、まったく同じフォーマットのテーブルを複数管理することができます。
例えば、京都名所データと大阪名所データというフォーマットがまったく同じテーブルがあるとします。フォーマットが同じなので、管理するためのフォームもまったく同じ内容なので、フォームをいくつも定義したくない、といった場合にレコードソースを設定し直す事で、1つのフォームで2つのテーブルを管理することができます。
フォームには、テーブルを切り替えるためのコマンドボタンを配置して、クリック時のイベントにレコードソースを設定し直す処理を用意します。

Private Sub コマンド0_Click()
    If Me.RecordSource = "京都名所データ" Then
        Me.RecordSource = "大阪名所データ"
    Else
        Me.RecordSource = "京都名所データ"
    End If
End Sub

コマンドボタンがクリックされると、RecordSourceプロパティの値を確認して、テーブル名を設定し直しています。
コマンドボタンを複数用意して、RecordSourceプロパティに別々のテーブル名を設定するようにすれば、複数のテーブルの管理も可能になります。
クエリも、フォーマットが同じであれば、同様に複数の管理ができます。