• 締切済み

リストボックスからサブフォームに入力するには

WindowsXP Access2003 フォーム上のリストボックスの行をクリックすることによって、同じフォーム上にあるサブフォームにそのデータを入力したいと思います。 フォームがメインサブではない普通のフォームへの入力は実現できているのですが、サブフォームへの場合うまくいきません。 どなたかご存知の方、ご教授をお願いいたします

みんなの回答

回答No.1

実際に質問のようなコードを書く必要があるのか少し疑問です。 サブフォームに進捗データが表示されていてバーコードで更新する。 そのような場合には、入力データに合致するサブフォームの行を検索。 その上で当該の列を更新することなります。 こういうコードを書くのは、極めて異例かと思いますが・・・。 前置きは、これ位にして・・・。 >サブフォームにそのデータを入力したい・・・ これには、更新する行を特定する情報が必要です。 >リストボックスの行をクリック・・・ >そのデータを入力したいと思います。 リストボックスから得られる情報は行を特定するものではなく列を更新するための値。 ですから、現状では目的を達成することはできません。 仮に、列の値をリストボックスから更新したい、あるいはフォームを参照したいのであれば・・・ 更新するサブフォームの列で値が空か空にしたら、参照を開始する。 これが、一般的かと思います。 もちろん、質問されているメインからサブフォームの特定の行の特定の列を更新するのは可能。 例えば、下の画面では、コマンドボタンがクリックされたら[orderGoods]の'B'を'C'に変更します。 リストボックスをクリックするもコマンドボタンをクリックするも同じ動作。 Private Sub サブフォームの注文商品を変更_Click()   Dim rst As DAO.Recordset   Set rst = Me.Orders_サブフォーム.Form.RecordsetClone   With rst     .FindFirst "id=2"     .Edit     .Fields("orderGoods") = "C"     .Update     .Close   End With End Sub