Guten Tag Zusammen,
ich bin eher ein VBA Neuling und versuche mich gerade durch MS Access zu hangeln. Ich hoffe mir kann hier jemand den
richtigen weg weisen beziehungsweise mich auf die richtige Idee bringen :)
Folgendes Szenario:
1 Access Datenbank, dort soll eine CSV eingelesen werden, diese verfügt über mehrere Spalten, wobei ich nur die Einträge
von 2 Spalten benötige, diese sind am Spaltennamen eindeutig identifizierbar.
Nach dem Einlesen, sollen die Datensätze in eine neue Tabelle, oder falls die Tabelle bereits vorhanden ist in diese
eingefügt werden.
Die Tabelle im Access ist dabei wie folgt aufgebaut:
Titel / FW01 / FW02... / Gesamt
Die CSV soll jede Woche eingelesen werden, beziehungsweise jede Woche eine neue. Dabei sind nicht immer alle "Titel"
vorhanden und es können auch neue hinzukommen. Das heißt also es muss geprüft werden, ob der Titel bereits vorhanden ist, wenn ja wird in diese Zeile geschrieben, wenn nicht wird eine neue Zeile hinzugefügt.
Dann die Spalten: FW01 für die erste Woche FW02 für die 2. und so weiter. Diese sollen angelegt werden und die Daten
des entsprechenden "Titel" aus der CSV eingetragen werden.
Das
klingt alles Kompliziert, ist es auch.
Bis jetzt sieht es so aus: Ich lasse den Nutzer den Pfad der CSV bestimmen, die FW angeben und FY und das Quarter. Danach
soll das ganze per Knopfdruck eingelesen werden. Soweit mein Code:
Private Sub Befehl11_Click() Dim iYT_path As String Dim iOO_path As String Dim iFW As Integer Dim iFY As Integer Dim iQuarter As String Dim tmpString As String Dim TablenameYT As String Dim TablenameOO As String '< set variables> iYT_path = YT_RAW.Value iOO_path = OOYALA_RAW.Value iFW = FW.Value iFY = FY.Value iQuarter = Quarter.Value ' Set Tablename for YT and OO TablenameYT = iFY + "YT" TablenameOO = iFY + "OO" ' Read Youtube CSV and copy to YT_FW Table f = FreeFile Open iYT_path For Input As f Do While Not EOF(f) Line Input #f, TextZeile Rows = Rows + 1 If Rows = 1 Then End Sub
Wie gesagt wäre ein Hinweis, wie ich da am besten verfahre sehr hilfreich :)
Grüße und schonmal vielen Dank,
David