Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 3
  • 204

W sieci istnieją przykłady wysyłania danych z zakresu Excela do MS SQL np.:

http://www.mrexcel.com/forum/excel-questions/487833-excel-visual-basic-applications-import-into-sql-server-2008-a-2.html

Sub CopyFromExcelToSQLServer()

Dim cn As ADODB.Connection
Dim sConn As String
Dim cmd As ADODB.Command
Dim sSQL As String

Set cn = CreateObject("ADODB.Connection")

'I have changed my actual connection details to x's - you will need to update for your actual connection.
sConn = "Provider=sqloledb;Server=xxx;Database=NORTHWIND;User Id=xx;Password=xx"

cn.Open sConn

sSQL = "SELECT * INTO FORECAST_TABLE FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0'," & _
        "'Excel 8.0;HDR=YES;Database=C:\temp\test.xls'," & _
        "'select * from Forecast');"

cn.Execute sSQL

cn.Close
Set cn = Nothing

End Sub

Czy możliwe jest pociągnięcie dalej - stworzenie w tym samym VBA tymczasowej bazy/tabeli, a nie wysyłanie do NORDWIND, odpytanie jej w MS SQL (wykorzystanie składni MS SQL (to już jest)) i zwrócenie do recordsetu, a następnie zrzucenie do kolejnej zakładki w MS Excel?

Jacek_Kotowski
  • Zapytał
  • @ Jacek_Kotowski | 02.07.2015
    • lider
    • laureat
    • ekspert
    • 60
    • 54
    • 94

Odpowiedź (1)

  • 0

Jeżeli mamy odpowiednie uprawnienia możemy przy pomocy VBA i ADO (jak w przykładzie) uruchomić dowolny skrypt SQL.

  • Odpowiedział
  • @ | 17.07.2015
  • TRENER ALTKOM AKADEMII