|

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