アプリ版:「スタンプのみでお礼する」機能のリリースについて

ちょっと行き詰まってしまいました。

あるテーブルを更新しようと、以下のようなVBAを作成し実行しました。
しかし、エラーが出てしまいます。

【テーブル1】
ID,予定年,予定月,予定日,実行年,実行月,実行日,区分

ID、予定年・月・日にはデータが入っています。
区分にはデータが入ってる場合と入ってない場合があります。
区分にデータが入っていると、実行年・月・日にはデータが入っています。

【コード】
strSQL = "UPDATE テーブル1 SET 実行年 = 予定年, 実行月 = 予定月, 実行日 = 予定日 WHERE 区分 Is Null"
DoCmd.RunSQL strSQL

【エラー】
Microsoft Visual Basicエラーダイアログが表示され、
「実行時エラー '3001' 引数が無効です。」と出ます。

クエリで同じものを作成しても同様のエラーが出ますが、SQL自体間違っているのでしょうか。
煮詰まっているのか、何がダメなのか判らない状況です。

もし判る方がいましたら、ご教授お願いします。

A 回答 (2件)

ちょっと見では大丈夫そうでしたが、自信が無かったので


似たようなのを作成して検証してみました。
すんなりと実行されました。

Googleオジサンに聞いたところ、もしかしてコレ?
http://www.free-style.biz/lifediary/2012/04/acce …
関連記事(リンク先)も含めると2010でも容疑濃厚かもしれない。
テーブルを作り直せば解決するらしいので
一旦CSVファイルにでも書き出してテーブル削除しインポートか
リンク先のMS社の解決方法でなんとかなるかも?
Access2010になってから、少し疑心暗鬼のこの頃。
ご参考まで。
    • good
    • 0
この回答へのお礼

まさにご指摘の関連記事がビンゴのようでした!

テーブルをXMLエクスポートして、インポートし直したものを同様のSQLで実行したところ、処理ができました。

ありがとうございました。

お礼日時:2012/05/21 14:47

Access2000 で試してみました。


strSQL = "UPDATE テーブル1 SET 実行年=[予定年],実行月=[予定月],[実行日=[予定日] WHERE 区分 Is Null WITH OWNERACCESS OPTION"
としたらどうでしょう
    • good
    • 0
この回答へのお礼

回答有り難うございます。

WITH OWNERACCESS OPTION では同様のエラーが出てしまいました。
しかしこの方法は知りませんでしたので、大変勉強になりました。

有り難うございました。

お礼日時:2012/05/21 14:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!