2009/08/31(Mon) 17:14:54 編集(投稿者)
■No40644 (もんたな さん) に返信
> INSERT INTO t_TRN_HDT_DAT(PROC_BAR, DELI_CD, HDT_IN_DT, IMP_DT)
> VALUES("01545264439", "01", #2009/08/28 14:29:00#, #" & Now & "#)"
あれ?
日付の指定に若干の問題がある気がしますが(※注釈)、それに目を瞑ったとしても、
INSERT INTO t_TRN_HDT_DAT(PROC_BAR, DELI_CD, HDT_IN_DT, IMP_DT)
VALUES("01545264439", "01", #2009/08/28 14:29:00#, #" & Now & "#)"
というのは、構文的におかしいかと思います。
これがたとえば、
INSERT INTO t_TRN_HDT_DAT(PROC_BAR, DELI_CD, HDT_IN_DT, IMP_DT)
VALUES("01545264439", "01", #2009/08/28 14:29:00#, #2009/08/28 14:29:00#)
もしくは、
SQL = "INSERT INTO t_TRN_HDT_DAT(PROC_BAR, DELI_CD, HDT_IN_DT, IMP_DT) " _
& "VALUES(""01545264439"", ""01"", #2009/08/28 14:29:00#, #" & Now & "#)"
であるならばまだ分かりますが…。
生成された SQL が、本当に、"01" になっているかどうか確認してみてください。
VALUES ("01545264439", "01", #2009/08/28 14:29:00#, #2009/08/28 14:29:00#)
ではなく、
VALUES ("01545264439", 01, #2009/08/28 14:29:00#, #2009/08/28 14:29:00#)
になっていたりはしませんか?
また、できれば『Option Strict On』を有効にして、「数値→文字列」や「日付→文字列」といった
暗黙の型変換が起きないようにしておいた方が良いでしょう。
----- 注釈 -----
※ Now を直接文字列化する事は推奨されていません。書式を明示しましょう。また、
※ JET の日付書式は年月日順でも指定できますが、本来は月日年順とされています。
※ http://support.microsoft.com/kb/416056/ja