Microsoft Access 掲示板

レコードセットをレコードセットにコピーしてテーブルに反映 / 5

6 コメント
views
5 フォロー
5

おそらくですが、VB.NET で利用なさっているのが
ADO ではなく、ADO.NET の DataSet だからではないでしょうか。

レガシーADO は OLE DB プロバイダー
ADO.NET    は .NET Framework データプロバイダー

とアーキテクチャも異なっており、
名前が似てはいますけど、仕様は全くの別物になっています。

一応、SQLServer 側のテーブルから Acccess のテーブルへ
Insert文を発行する例を載せておきます。
  

Sub insertTBL2()
    Const fDate As Date = #8/1/2021#
    Const tDate As Date = #8/31/2021#
    Dim strSQL  As String
    
    '接続に用いるプロバイダがODBCのため、日付リテラルの引用符は
    'Transact-SQLの単一引用符ではなく、Access-SQLのシャープになります
    
    strSQL = "INSERT INTO TBL2 " & vbNewLine _
           & "SELECT * FROM " & vbNewLine _
           & "[ODBC;" & vbNewLine _
           & "driver=SQL SERVER;" & vbNewLine _
           & "server=SALESSV2\ABCINSTANCE;" & vbNewLine _
           & "trusted connection=YES;" & vbNewLine _
           & "database=AAA].TBL1 " & vbNewLine _
           & "WHERE planDate Between #" & fDate & "# " & vbNewLine _
           & "                   And #" & tDate & "# " & vbNewLine _
           & "ORDER BY ID;"
    
    CurrentProject.Connection.Execute CommandText:=strSQL _
                                    , Options:=adExecuteNoRecords
End Sub
通報 ...