|

|
|
 |
複数値を持つフィールドの値を変更する |
 |
|
|
|
|
|
複数値を持つフィールド内の特定の値の書き換えは、UPDATE文(更新クエリ)で行えます。このとき、削除対象のレコード(1件)と削除する値の2つを条件(WHERE句)に指定するのがポイントです。VBAで行うときは、DAO、ADOのどちらのコネクションでも可能です。
|
|
|
|
|
|
|
|
|
|
次のプログラムは、VBAを使い複数値を持つフィールド内の特定の値を書き換える処理のサンプルです。DAOを使い追加クエリ(UPDATE文)を実行しています。複数値を持つフィールドは「仕入れ先」です。
「@どのレコードの複数値フィールドにある」「Aどの値を削除するか」は、WHERE句を指定しています。なお、複数値を持つフィールドはValueプロパティを使い「フィールド名.Value」と記述します。
Sub Sample(pFindKey As String, pBefore As Long, pAfter As Long)
Dim objMDB As DAO.Database
Dim strSQL As String
Set objMDB = Application.CurrentDb
strSQL = "update 商品マスタ" _
& " set 取引先.Value = " & pAfter _
& " where 商品コード= " & pFindKey _
& " and 取引先.Value = " & pBefore
objMDB.Execute strSQL
Set objMDB = Nothing
End Sub
|
参考までに、削除対象の値があるレコードの条件(pFindKey)、書き換え前の値(pBefore)と書き換え後の値(pAfter)は、いずれも引数で指定しています。また、コネクションはDAO(DAO.Database)を使用しています。
|
|
|
|
|