23 ConnTest_2.xlsm コード解説

標準モジュール’ContDefで定義する ‘DataBaseInfo’ に、新しい要素
 AccessSw As Boolean   ‘Access:True, SQLSERVER:False
が追加されていることに留意してください。

標準モジュール’AccessProc’のデータベース接続Subの中でこれを用い、
   On Error GoTo Con2SLQ
   ・・・・Source=SDB9ByAccess・・・
   DbInfo.AccessSw = True   ‘Access:True
   On Error GoTo 0
   Exit Sub
  Con2SLQ:
   On Error GoTo 0
   ・・・・Source=SDB9BYSQLEXPRESS”, ・・・
   DbInfo.AccessSw = False   ‘SQLSERVER:False
としています。

Sheet3(学級名簿)シートの’名簿書き込み’には、
   ‘転出入日付にダミー(2000/04/01)設定
  
   ‘ Access なら##で囲むだけで済むが‥
   ‘ SQLSERVER なら特段の手立てが必要
  
   If DbInfo.AccessSw = True Then
    dyStr = “#2000/04/01#”
   Else
    dyStr = “CONVERT(DATETIME, ‘2000/04/01 00:00:00’, 102)”
   End If
とあります。

ACCESSとSQLSERVERでは「日付」の扱いが異なるため、SQLスクリプトの側で、その動きを忖度(笑)してやらねばなりません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です