VBAでSQLクエリを書くとき

VBAからデータベースへ向かってクエリを書くときいろいろと忖度してあげる必要がある

SQLserverのbit型はaccessで見るとbitの0はAccessの0でありfalse、bitの1はAccessの-1でありtrue
そこを踏まえて
Accessのフォームから・・

cn.execute “update sqlTable set BitColumn=case when ” & AccessForm.checkbox & “=-1 then 1 else ・・

となんだかおかしいようだがおかしくない

日付型を扱う時も

cn.execute “update sqltable set DateColumn=cast(format(日付,’yyyy/MM/dd’) as dattetime)・・・

MMを忖度せねばいけないがAccess側にいると忘れてしまう事がある。気がつけば良いが久しぶりに遭遇してmmと書いてしまうと気がつかないで慌ててしまう