Microsoft Access Club >SampleFile Q & A >インデックス >このページ >次頁 < 前項  サイト内検索


Q&A-003 ListBoxからFormを開く一例--フォームからフォームを開いて編集したい



Access Club 超初心者 BBS
タイトル : フォームからフォームを開いて編集したい
記事No : 6359
投稿日 : 2003/04/09(Wed) 01:28
投稿者 : kgo

OS:2000
Access Version:2000

よろしくお願いします。
顧客データのフォームと、タブとサブフォームを使ったあいうえお順の名簿リストフォームがあります。
名簿リストフォームで指定した顧客データフォームを表示させるボタンを作り、その顧客データのフォームを表示させることまでは出来ました。
こうして取り出した顧客データフォームを編集したいのですが、「このレコードソースは編集できません」と表示され、編集できません。
 ボタンからではなく個別に二つのフォームを開いた場合も顧客データフォームに「このレコードソースは編集できません」と出るので、同じテーブルから出来たフォームを同時に開いているせいなのだろうということは分かりました。

そこで名簿リストフォームが閉じてから顧客データフォームが開くマクロを作り、二つのフォームを開き、マクロを単独で実行したところ、顧客データフォームに書き込むことが出来ました。
 ところが、名簿リストフォームにこのマクロのボタンを作り実行すると、名簿リストフォームは閉じているのですが、顧客データフォームには相変わらず書き込むことが出来ませんでした。

どのような修正を加えればデータ編集が出来るようになるのでしょうか?
 


>同じテーブルから出来たフォームを同時に開いているせいなのだろう

このことは一概には言えません。いろいろな要件が絡んでいるんでしょうね。参考までに、下記ページをご覧下さい。

AccessTips--No.30クエリからのデータ更新について

直接の回答ではないですが、今後のご参考にして下さい。

  1. フォーム上のリストボックスから該当のデータをダブルクリックすると、そのデータの修正画面を表示させるサンプル(frm_A)と、
  2. 同じテーブルからなるフォームを同時に複数開いた場合でも、データ修正が可能なサンプル(frm_AA)をご紹介します。

テーブルの作成

テーブル(tbl_sample)を下記のように作成します。

ID 日付 識別番号/th>
1 2000/10/01 8899
2 2000/10/10 32110
3 2000/10/10 3222163
4 2000/10/10 39334
5 2000/10/10 88563
6 2000/10/11 6955
7 2000/10/11 66532
8 2003/04/14 65223

リストボックスの作成

テーブル(tbl_sample)を基にしたリストボックス(list_対象)を作成します。

リストボックスのダブルクリック時イベントプロシージャの作成

リストボックスのダブルクリック時イベントに下記プロシージャを記述します。

Private Sub list_対象_DblClick(Cancel As Integer)

On Error GoTo err

    Dim var対象 As Variant

    var対象 = Me.list_対象.Column(0)
    DoCmd.OpenForm "frm_B", acNormal, "", "[ID]=" & var対象
    
Exit Sub

err:

    MsgBox "予期せぬエラーが発生" & vbNewLine & _
            err.Number & vbNewLine & _
            err.Description, 16
    Resume Next

End Sub
解説
  1. リストボックスのあるデータをダブルクリックすると、下記のような修正画面が開きます。
  2. このフォームは、新規入力を不可にしています。

2003/04/14

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

 


Q&A-003 ListBoxからFormを開く一例--フォームからフォームを開いて編集したい


 

-Microsoft Access Club-