Microsoft Access Club >AccessTips >このページ >次頁 <前項  サイト内検索


OpenForm メソッドのOpenArgsを用いて詳細フォームを開く : AccessTips137



今回は、OpenForm メソッドのOpenArgsを用いて2つのフォーム(親・子)を連携させ、親フォームののキーとなるデータから子の詳細フォーム開く簡易な方法をご紹介します。

手順

  1. tbl_sampleテーブルを元に表形式の親フォームを作成し、2〜3つの連結テキストボックスと非連結のコマンドボタン(cmd詳細)を配置します。
  2. 同じくtbl_sampleテーブルを元に単票形式の子フォームを作成し、全てのフィールドデータを配置します。
  3. 親フォームの詳細コマンドボタンをクリックすると、当該レコード詳細データを別フォーム(子フォーム)で開きます。

tbl_sampleテーブル

tbl_sampleテーブルデータは以下のとおりです。

ID 取引日 取引先 売上額 担当者名 備考
1 2007/01/02 株式会社あきら商事 ¥1,055,420 町田 手形決済
2 2007/01/03 株式会社松本興産 ¥785,820 曽根 小切手決済
3 2007/01/03 中村印刷株式会社 ¥153,301 高田 10日後の振り込み決済

親フォームの作成

連結フォームを以下のとおり作成します。

詳細コマンドボタンクリック時イベントプロシージャの作成

親フォームの詳細コマンドボタンクリック時イベントプロシージャを作成します。OpenForm メソッドのOpenArgsにIDフィールドを指定します。

Private Sub cmd詳細_Click()

    Dim stDocName As String
    stDocName = "frm_詳細"

    DoCmd.OpenForm stDocName, acNormal, , , acFormEdit, acWindowNormal, Me.ID

End Sub

子フォーム(詳細フォーム)の作成

連結フォームを以下のとおり作成します。

詳細フォームを開く時イベントプロシージャの作成

子フォーム(詳細フォーム)の開く時イベントプロシージャを作成します。OpenForm メソッドのOpenArgs値を取り込み、IDフィールドの値でFilterメソッドを実行します。

Private Sub Form_Open(Cancel As Integer)

    Me.Filter = "ID = " & Me.OpenArgs
    Me.FilterOn = True

End Sub

フォームをビューモードで開く

  1. 親フォームをビューモードで開きます。
  2. 先頭のレコードにある[詳細コマンドボタン]をクリックします。

  1. ID値が 1 のレコードが詳細フォーム(子フォーム)で開かれます。

関連ページ

2007/01/06

ページの先頭へ 前ページへ戻る

 


OpenForm メソッドのOpenArgsを用いて詳細フォームを開く : AccessTips137


 

-Microsoft Access Club-