Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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

Datenbank füllen

Datenbank füllen
14.08.2014 11:39:34
Michael
Moin zusammen,
ich habe für meine Abteilung eine Access-Datenbank (Office 2010) angelegt, in der meine Kollegen Grunddaten ihres Arbeitsbereiche einbringen müssen.
Nun habe ich mich auf die Such nach Programmbeispielen begeben, da meine VBA Literatur (Steinzeit;-)), nichts dergleichen her gibt. Sieht man mal von der Erstellung prähistorischer SEQ/DAT Dateien ab.
Bis dato habe ich folgendes gefunden und von anderen Demos abgeleitet, aber nicht unbedingt verstanden ...
Sub Datenbank_füllen()
Dim db As Object
Dim i As Integer
Dim intro As String
Dim Tabelle, VarList, TaName
Set db = CreateObject("Access.Application")
TaName = "Arbeitsdaten"
db.OpenCurrentDatabase ("?:\?\?\?\?\Arbeitsdaten.accdb")'Speicherort Server
On Error GoTo Fehler
Worksheets("Tabelle2").Activate
For i = 2 To 5000
VarList = " Values (" & "'" & Sheets("Tabelle2").Cells(i, 1) & "','" & Sheets("Tabelle2" _
).Cells(i, 2) & "','" & Sheets("Tabelle2").Cells(i, 3) & "','" & Sheets("Tabelle2").Cells(i, 4) & "','" & Sheets("Tabelle2").Cells(i, 5) & "','" & Sheets("Tabelle2").Cells(i, 6) & "','" & Sheets("Tabelle2").Cells(i, 7) & "','" & Sheets("Tabelle2").Cells(i, 8) & "')"
intro = "Insert into " & "Arbeitsdaten" & Datensatz & VarList'Datensatz im separatem Modul  _
deklariert
Next i
TB.Execute intro
TB.Close
db.CloseCurrentDatabase
Fehler:
MsgBox (Err.Description)
End Sub

Meine Frage nun, wie kann ich die aktuelle Datansatzanzahl herausfinden?
Um eine Aktualisierung der vorhandenen Daten zu ermöglichen (Primärschlüssel = lfd Nr.) muß ein Abgleich erfolgen. Die mir bekannten Varianten von put#, write# gibts ja wohl nicht mehr;-(

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbank füllen
18.08.2014 00:53:14
fcs
Hallo Michael,
warum willst du dich denn mit VBA rumplagen?
Üblicherweise erstellt man in ACCESS eine oder auch mehrere Eingabemasken.
Im Idealfall machen dann alle Beteiligten machen ihre Eingaben dann direkt in der Datenbank.
Falls eine dezentrale Dateneingabe nicht möglich ist oder nicht möglich sein soll, dann ist evtl. der Export/Import der Daten via Exceldateien eine Alternative.
D.h. Es werden per Datenexport leere oder teilweise ausgefüllte Exceldateien an die Mitarbeiter verteilt. Die Rückläufer werden dann reimportiert, evtl. macht es Sinn, die Rückläufer in einer Exceldatei zu konsolidieren und dann in ACCESS zu reimportieren.
In ACCESS gibt es ja verschiedene Varianten von Importen (Tabelle erstellen, Daten anfügen etc).
Wenn du tatsächlich den Datenabgleich zwischen einer Exceltabelle und einer Datentabelle in einer ACCESS-Datenbank per VBA-Makros umsetzen willst, dann musst du dich schon tiefer in die VBA-Syntax der verschiedenen Methoden und Eigenschaften von ACCESS und Excel begeben. Mit VBA-Basiskenntnisse wird es da schwierig.
Bei der VBA-Programmierung unter Excel solltest du dann unbedingt im VBA-Editor für die Datei unter Extras-Verweise den Verweis auf die Microsoft Access Object Library setzen.
Wenn du dann für die Access-Objekte auch die Variablen entsprechend deklarierst, erleichterst du dir die Programmierung.
Wahrscheinlich wird das Ganze auch einfacher, wenn du die Exceldaten in eine leere Tabelle in ACCESS importierst und dann den VBA-gestützten Datenvergleich innerhalb von ACCESS durchführst, dann brauchst du dich nicht mit 2 VBA-Welten rumplagen, sondern bewegst dich nur in einer VBA-Umgebung -wenn auch in einer im Moment weitgehend unbekannten.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige