Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
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

Daten von Access Excel nach Access überschreiben

Daten von Access Excel nach Access überschreiben
09.03.2018 10:37:22
Access
Hallo zusammen,
ich würde gerne mehrere Zeilen von Excel nach Access übertragen.
Ich habe folgenden Code geschrieben:

Set Db = OpenDatabase(DbPath)
Set rs = Db.OpenRecordset(ZielTab)
Name_Spalte = Range("A1").Value
Do Until Name_Spalte = "Vorgang"
Name_Spalte = Cells(1, 1 + Spalte_Vorgang).Value
Spalte_Vorgang = Spalte_Vorgang + 1
Loop
Do Until IsEmpty(Cells(1 + Anzahl_Vorgaenge, Spalte_Vorgang))
Anzahl_Vorgaenge = Anzahl_Vorgaenge + 1
rs.AddNew
rs!Vorgang = Cells(1 + Anzahl_Vorgaenge, Spalte_Vorgang)
rs!Ressource = Cells(1 + Anzahl_Vorgaenge, Spalte_Vorgang + 1)
rs.Update
Loop
Zur Begriffserklärung:
ZielTab = "tbl_Vorgaenge_Excel" = Name der Tabelle in Access
Vorgang = Name einer Spalte in Access
Ressoruce = Name einer Spalte in Access.
DbPath = eine Globale Konstante, der Pfad, wo die Access Datenbank liegt
Ich kenne mich leider noch zu wenig aus, um zu erkennen, wo der Fehler liegt.
Ich würde mich riesig freuen, wenn mir jemand helfen könnte.
Das ganze muss mit VBA passieren, da es später mehrere Benutzer dieser Datei gibt, die nur auf eine Access zugreifen und ich gerne hätte, dass keiner außer ich Zugriff auf die Access Datenbank hat.
Die Datei läuft durch, ohne eine Fehlermeldung zu zeigen, jedoch kommt auch nichts in Access an.
Liebe Grüße
Ein Access Neuling

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten von Access Excel nach Access überschreiben
09.03.2018 12:52:27
Access
Hallo Johannes,
das einzige, was ich an Deinem Code als fehlerhaft sehe, ist der Umgang mit der Variablen Anzahl_Vorgaenge in der Do-Schleife. Die würde ich eher wie folgt machen:
Anzahl_Vorgaenge = 1
Do Until IsEmpty(Cells(Anzahl_Vorgaenge, Spalte_Vorgang))
rs.AddNew
rs!Vorgang = Cells(Anzahl_Vorgaenge, Spalte_Vorgang)
rs!Ressource = Cells(Anzahl_Vorgaenge, Spalte_Vorgang + 1)
rs.Update
Anzahl_Vorgaenge = Anzahl_Vorgaenge + 1
Loop
Ansonsten funktioniert der Code bei mir einwandfrei. Ich weiß allerdings nicht, was außerhalb des geposteten Code-Schnipsels passiert. Z.B. erhält die Variable Anzahl_Vorgaenge einen Wert? Wie sind die Variablen deklariert?
Mein kompletter, funktionierender Code lautet wie folgt:
Sub Access()
Dim DbPath As String, Zieltab As String, Name_Spalte As String
Dim Spalte_Vorgang As Long, Anzahl_Vorgaenge As Long
Dim db As DAO.Database
Dim rs As DAO.Recordset
DbPath = "D:\Test\Datenbank.mdb"
Zieltab = "tbl_Vorgaenge_Excel"
Set db = OpenDatabase(DbPath)
Set rs = db.OpenRecordset(Zieltab)
Name_Spalte = Range("A1").Value
Spalte_Vorgang = 0
Do Until Name_Spalte = "Vorgang"
Name_Spalte = Cells(1, 1 + Spalte_Vorgang).Value
Spalte_Vorgang = Spalte_Vorgang + 1
Loop
Anzahl_Vorgaenge = 1
Do Until IsEmpty(Cells(Anzahl_Vorgaenge, Spalte_Vorgang))
rs.AddNew
rs!Vorgang = Cells(Anzahl_Vorgaenge, Spalte_Vorgang)
rs!Ressource = Cells(Anzahl_Vorgaenge, Spalte_Vorgang + 1)
rs.Update
Anzahl_Vorgaenge = Anzahl_Vorgaenge + 1
Loop
End Sub

Gruß
Robert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige