Excel Daten in SQL Server Tabelle exportieren

21/08/2007 - 15:13 von Thomas Burger | Report spam
Hallo NG,

Ist es möglich über VBA/Makros Excel Daten in eine SQL Server Tabelle zu
exportieren.

Nach Access habe ich es hinbekommen, aber zu einer SQL Server Tabelle bin
ich gerade am verzweifeln.

Wàre sehr nett wenn es dafür Codebeispiele oder Ähnliches geben würde.

Danke im vorraus
 

Lesen sie die antworten

#1 Frank Kalis
21/08/2007 - 15:28 | Warnen spam
"Thomas Burger" wrote:

Ist es möglich über VBA/Makros Excel Daten in eine SQL Server Tabelle zu
exportieren.

Nach Access habe ich es hinbekommen, aber zu einer SQL Server Tabelle bin
ich gerade am verzweifeln.




Natürlich geht das. Einfach den ADO Verweis hinzunehmen und dann ist es kein
großer Unterschied, ob Access oder SQL Server.

Wàre sehr nett wenn es dafür Codebeispiele oder Ähnliches geben würde.




Das ist ein wenig optimiertes Beispiel. Für meinen Hausgebrauch aber reicht
es allemale.

Private Sub cmdTransferSQLServer_Click()

Dim MyRange As Object
Dim MyRow As Object
Dim cTemp As String
Dim i As Integer
Dim dtKursdatum As String
Dim curr As String

Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim sql As String
Set MyRange = ActiveSheet.UsedRange

i = 9

Set cn = New ADODB.Connection
Set cmd = New ADODB.Command

cn.Open cn_string

With cmd
.ActiveConnection = cn
.CommandType = adCmdText
For Each MyRow In MyRange.Rows
If MyRange.Cells(i, 1).Text <> "" Then
If MyRange.Cells(i, 5).Text = "" Then
curr = "EUR"
Else
curr = MyRange.Cells(i, 5).Text
End If
sql = "INSERT INTO dbo.Fondskurse_Host(hostID, wkn, kursdatum, kursart,
kurs_in_currency, currency, kurs_in_euro, " & _
"unternehmenID) VALUES(" & _
MyRange.Cells(i, 1).Text & "," & _
"'" & MyRange.Cells(i, 2).Text & "', " & _
"'" & Cells(8, 9).Text & "', " & _
"'" & Cells(7, 4).Text & "'," & _
Replace(IIf(MyRange.Cells(i, 6).Text = "", "0,01", MyRange.Cells(i,
6).Text), ",", ".") & "," & _
"'" & curr & "'," & _
Replace(MyRange.Cells(i, 9).Text, ",", ".") & "," & _
"1);"
.CommandText = sql
.Execute
End If
i = i + 1
sql = ""

End With

If Err = 0 Then
MsgBox "Kurse erfolgreich in SQL Server eingespielt", vbInformation
End If

End Sub

Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.de

Ähnliche fragen