sql >> Database >  >> RDS >> Sqlserver

schrijven van kopie van recordset naar bereik

Het is misschien het gemakkelijkst om het Excel-blad als een samengevoegde tabel op te nemen. Bijvoorbeeld:

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

Bij eventuele koppelingen naar SQL Server moet u er redelijk zeker van zijn dat u met schone gegevens werkt.

Merk op dat ik heb verwezen naar Cellen. Als je het idee om het blad te verbinden niet leuk vindt, kun je ook verwijzen naar cellen en stap, bijvoorbeeld For i=1 To MaxRows




  1. Mysql - zoekvelden die eindigen als zoekterm

  2. PHP PDO haalt null op

  3. Hoe parameterwaarden toevoegen aan pgadmin sql-query?

  4. Slaapstand @OrderBy met klasse waarnaar wordt verwezen