Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

zapisywanie kopii z zestawu rekordów do zakresu

Najłatwiej byłoby dołączyć arkusz Excela jako połączoną tabelę. Na przykład:

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

W przypadku jakichkolwiek łączy do SQL Server musisz mieć pewność, że pracujesz z czystymi danymi.

Zauważ, że odniosłem się do Cells. Jeśli nie podoba Ci się pomysł połączenia arkusza, możesz również odwołać się do komórek i kroku, na przykład For i=1 To MaxRows




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Proste zapytanie sql DateTime

  2. Parametr wyjściowy serwera PHP SQL

  3. Użycie klauzuli OUTPUT do wstawienia wartości spoza INSERTED

  4. Typy kursorów programu SQL Server — dynamiczny kursor | Samouczek SQL Server / Samouczek TSQL

  5. SYSDATETIME() vs GETDATE() w SQL Server:jaka jest różnica?