| 2010/08/20(Fri) 18:40:01 編集(投稿者)
■No52692 (hs さん) に返信 > ただし、解決はできておりませんので、引き続きお力をお貸しください。 照合順序は何に設定されていましたか? エラーの内容は何でしょうか? (No52671 の繰り返しになってしまいますが、念のために確認させておいて下さい)
> Dim SQL As String = "INSERT INTO T_Support(FURIGANA, SIMEI, SEINEN, SEIBETSU, NENREI) VALUES('サポート', 'サポート', #" & Now & "#, True, 30)" これは Win7 でなくとも NG です。 それでなくとも、Option Strict On でエラーになりますよね。
第一に、Now は日付型であって文字列型ではありません。 そのため、& 演算子で連結する前には、文字列へ変換する必要があります。 (もちろん、CStr で変換するのは NG です)
第二に、このコードでは日付書式がカルチャー設定に依存してしまいます。 (たとえば、OS の地域設定が和暦モードだと途端に破綻します) JET の SQL において日付リテラルを使うのであれば、 #12/31/1999# #12/31/1999 23:34:56# #12/31/1999 11:34:56 PM# のいずれかの書式を利用してください。yyyy/MM/dd では無いので注意。 (実行環境によっては yyyy/MM/dd でも処理されますが、本来は MM/dd/yyyy です)
> Windows7だと、日付を扱うには特殊な事が必要なのでしょうか? それ以外の突っ込みどころとしては、
・Now は、時刻部を含んだ値です。生年月日に時刻も必要ですか? ・そもそも、生年月日列に Now を突っ込むのは如何なものかと。 ・パラメータクエリーの利用も検討を。これなら書式を気にせずに済みます。 |