Daten aus Excel in SQL Datenbank schreiben

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    Daten aus Excel in SQL Datenbank schreiben

    Hallo,
    ich habe folgende Frage:
    Es sollen Daten mit Hilfe eines Makros (VBA) aus einer Excel-Spalte in eine bestehende MS-SQL Datenbank-spalte upgedated werden.

    Genaue Beschreibung:
    Excel 2007
    MS SQL Server 2005

    Aufbau Excel Tabelle (tabelle1):
    Nr Daten Daten1
    1 test1 data1
    2 test2 data2
    3 test3 data3
    4 test4 data4

    Ich habe eine bestehende Exceltabelle "tabelle1" welche mit Daten gefüllt ist, aber nur die Zellen einer Spalte ("Daten") sind mit Hilfe eines Dropdown-menüs editierbar.

    Die SQL Tabelle enthält ebenso wie die Excel-Tabelle u.a die Spalten "Nr" und "Daten".
    Nun sollen die Zelleninhalte von "Daten", die über "Nr" identifiziert werden können, von der Excel-Tabelle in die SQL-Tabelle geschrieben werden, wobei nur "Daten" upgedatet werden soll, nicht aber die anderen Spalten der SQL-Tabelle.

    Den Datenbankzugriff über ADO hab ich schon hinbekommen:
    Sub export()
    ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection
    Dim rst As New ADODB.Recordset
    ' Provide the connection string.
    Dim strConn As String
    'Use the SQL Server OLE DB Provider.
    strConn = "PROVIDER=SQLOLEDB;"
    'Connect to the Pubs database on the local server.
    strConn = strConn & "DATA SOURCE=--server\instance--;INITIAL CATALOG=--database--;User Id=--username--;Password=--password--;"
    'Use an integrated login.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
    'Now open the connection.
    cnPubs.Open strConn
    cnPubs.Close
    Set rsPubs = Nothing
    Set cnPubs = Nothing
    End Sub

    Wie können nun die Daten in der SQL-Tabelle upgedated werden?

    Vielen Dank vorab,
    Grüße
    Chris
    Du musst natürlich erst einmal den Recordset rst füllen.
    Dieser wird später einfach mit rst.Update gegen die Datenbank aktualisiert.
    Schaue hier it-academy.cc/article/800/10+E…erung+mit+VB+und+ADO.html
    Der Code sollte auch für andere als die aufgeführten Access-Versionen funktionieren.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).