質問: Access VBA、SQLで文字列→日付→再度文字列に変換したいのですがうまくいきません。 下記のエラーが出ているコードは文字列→日付の箇所です。
回答: この課題はわざわざ納品日(Date型)経由しなくても 直接登録日を更新(+1日)する事ができます。 つまりmySql = "UPDATE Tab_A" mySql = mySql & " SET 納品日 = DateADD("d", 1, CDate(Format(登録日, ''yyyy\/mm\/dd'')))" を mySql = "update Tab_A set 登録日] = format(dateadd('d',1,format([登録日],'####\/##\/##')),'YYYYMMDD')" に変更 SQL文は自分の環境で実行して確認したので大丈夫だと思うつまり DateADDで折角、更新(+1日)した日付を作ったので それをformatで文字列変換して格納すればいい という考えです。 なお 貴方のコードを見て気を付けた方がいいと思った事を少々 ・SQL文内で文字列は基本的に’(シングルコーテーション)で囲む ・VBAコード上の文字列内で"(ダブルコーテーション)を使う場合は "(ダブルコーテーション)を2個書かないとそこまでの文字列になってしまう。 ....示されているコードはエラーがでなかった? ・これは環境によるかもしれませんが AccessのSQL文では漢字のフィールド名は[で囲まないとエラーになる 因みに、自分の環境は ・MS Access(製品)は持って(入って)いない ・Windows標準に装備されているAccessドライバー(?)を ADO(質問者さんの場合はDAO?)で使用 ・OSはWindows10 Home