お世話になります。
ExcelVBAでAccessを操作(selectやinsert)をしていたのですが
直接Accessの指定レコードについていくつかのフィールドのデータを削除(空)にしてから
ExcelVBAからselectやinsertがうまくいかなくなってしまいました。
以下は以前まで使用していたコードの例です(WHERE句に記載しているフィールドは複数あります)↓
VBA
1SELECT ID FROM 費用 WHERE WBSコード='W1234567'
このWBSコード列のデータを削除してから下記のコードでうまくいかなくなってしまいました。
VBA
1SELECT ID FROM 費用 WHERE WBSコード=''
そこで、以下のように変更すると、SELECT文に関してはうまくいくようになりました。
VBA
1SELECT ID FROM 費用 WHERE WBSコード IS NULL
しかし、insertする際にExcelで表示されている行レコードをvariant型配列に入れ、
VBA
1INSERT INTO 費用(WBSコード,(他複数フィールド)) VALUES('',(他複数フィールドのデータ)); 2
とすると、今度はそのレコードを再度selectで取得する際にwhere句をis nullにするとうまく取れず、''にしないと取得できません。
このやり方だと同じ空白データでも一つのテーブルにNULLと''のレコードが混在することになってしまいます。
常にテーブル内のすべての空白データをNULLか''で統一したいのですが、効率のいい方法はありますでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。