Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Werte in MS-SQL Datenbank schreibe

VBA - Werte in MS-SQL Datenbank schreibe
22.02.2022 18:48:50
CHGS
Hallo zusammen,
ich habe es bereits geschafft, meine Schnittstelle von Excel zu meiner MS SQL Datenbank herzustellen.
Die Werte werden auch per Update-Befehl in die Datenbank sauber geschrieben, wenn ich eine ID fest vergebe.
Ich wollte meinen Code jetzt optimieren, eine Art Loop bauen, weis aber nicht wie.
Generell möchte ich meine Tabellenblöcke mit je 250 Zeilen nur dann übergeben, wennich explizit auch "JA" aktiviert habe.
Das Feld prüfe ich relativ dazu vorher ab.

Sub Kalkulation_speichern()
Set con = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
Worksheets("eBay").Activate
If ActiveCell.Value = "JA" Then
con.ConnectionString = "Provider=SQLOLEDB.1;" _
& "Server=SERVER,PORTINSTANZ;" _
& "Database=DATENBANK;" _
& "User ID=USER;" _
& "Password=PASSWORT;" _
& "Integrated Security=SSPI;" _
& "DataTypeCompatibility=80;"
con.Open
Set cmd.ActiveConnection = con
cmd.CommandText = "UPDATE meine-tabelle SET mein-feld-db = '" & ActiveCell.Offset(3, -5).Value & "' WHERE mein-pk-db ='" & ActiveCell.Offset(3, -6).Value & "';"
cmd.Execute
cmd.CommandText = "UPDATE meine-tabelle SET mein-feld-db = '" & ActiveCell.Offset(4, -5).Value & "' WHERE mein-pk-db ='" & ActiveCell.Offset(4, -6).Value & "';"
cmd.Execute
cmd.CommandText = "UPDATE meine-tabelle SET mein-feld-db = '" & ActiveCell.Offset(5, -5).Value & "' WHERE mein-pk-db ='" & ActiveCell.Offset(5, -6).Value & "';"
cmd.Execute
..... bis 250 Zeilen .....
cmd.CommandText = "UPDATE meine-tabelle SET mein-feld-db = '" & ActiveCell.Offset(253, -5).Value & "' WHERE mein-pk-db ='" & ActiveCell.Offset(253, -6).Value & "';"
cmd.Execute
con.Close
Set con = Nothing
ActiveCell.Offset(0, -5).Value = "Stand: " + Format(Now, "dd.mm.yyyy - hh:mm") + " Uhr"
ActiveCell.Value = ""
Else
Exit Sub
End If
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige