sql >> データベース >  >> RDS >> Sqlserver

copyfromrecordset を範囲に書き込む

    Excel シートを結合テーブルとして含めるのが最も簡単な場合があります。例:

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    
    ''Not the best way to get the name
    strFile = ActiveWorkbook.FullName
    
    ''2007 / 2010 connection
    strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
        & ";Extended Properties=""Excel 12.0 xml;HDR=Yes;"";"
    
    cn.Open strCon
    
    ''ODBC Connection for sql server
    scn = "[ODBC;DRIVER=SQL Server;SERVER\Instance;" _ 
        & "Trusted_Connection=Yes;DATABASE=Test]"
    
    sSQL = "SELECT a.Stuff, b.ID, b.AText FROM [Sheet5$] a " _
    & "INNER JOIN " & scn & ".table_1 b " _             
    & "ON a.Stuff = b.AText"
    rs.Open sSQL, cn
    
    ActiveWorkbook.Sheets("Sheet7").Cells(1, 1).CopyFromRecordset rs
    

    SQL Server へのリンクがある場合は、クリーンなデータを扱っていることを確信している必要があります。

    セルについて言及したことに注意してください。シートを接続するという考えが気に入らない場合は、セルとステップを参照することもできます。たとえば、For i=1 To MaxRows のようになります。




    1. MySQLで通知用のデータベースを設計するためのガイド

    2. 1つのテーブルのすべての行に他のテーブルの対応者が含まれていない場合でも、MySQLの2つのテーブルから選択するにはどうすればよいですか?

    3. PreparedStatementは、クエリ内のパラメーターを無視します。java.sql.SQLException:パラメーターインデックスが範囲外です(1>パラメーターの数。0)

    4. mysqlテーブルから最初と最後のレコードを見つける方法