#488 | 複数の値を持つコントロールにデータを追加するには? | フォーム、VBA | |
複数の値を保存可能なフィールド(複数の値の許可プロパティ”はい”)と連結したコントロールがフォーム上に配置されているとき、コマンドボタンのクリックによってそこにデータを追加する(正確には選択肢にチェックマークを付ける)プログラムの例です。 ここでは、次のようなフォームを用意します。複数の値を持つフィールド名ならびにコントロールの名前は「仕入先ID」、コマンドボタンの名前は「cmd追加」とします。 そして、[追加]のコマンドボタンのクリックイベントプロシージャを次のように記述します。 ここでは、仕入先IDの選択値として、連結列の値が「1」、「2」、「3」の3つを選択状態(チェックを付ける)にしています。 Private Sub cmd追加_Click() '[追加]ボタンクリック時 'フォームのレコードセットの編集を開始 Me.Recordset.Edit '仕入先IDフィールドのレコードセットに対する操作 With Me.Recordset!仕入先ID.Value .AddNew !Value = 1 .Update .AddNew !Value = 2 .Update .AddNew !Value = 3 .Update .Close End With 'コンボボックスの表示を更新 Me!仕入先ID.Requery End Sub 実行結果: ■クリック前 ■クリック後 なおここで、「Me.Recordset!仕入先ID」の方の「仕入先ID」はフィールド名、「Me!仕入先ID」の方の「仕入先ID」はコンボボックスのコントロール名であることに注意してください。 また、「仕入先ID.Value」のレコードセット上の「Value」フィールドは主キーですので、すでにチェックが付いている項目にさらにチェックを付けようとするとキー重複のエラーとなります。上記サンプルでは省略していますが、厳密には何らかのエラー処理が必要となります。 また、上記の仕入先IDフィールドのレコードセットの宣言は、次のように記述することもできます。 Dim rst As Recordset Set rst = Me.Recordset!仕入先ID.Value With rst (以下同様) |
|||
|
Copyright © T'sWare All rights reserved |