Access-Tabellenaktualisierung
Hallo,
ich hab folgendes Problem.
Hab viele Tabellen und Abfragen. Die benutzten Daten in den Tabellen werden aber hinundwieder aktualisiert.
Ich bekomm somit abundzu neue .txt Dateien, welche ich in die Tabellen einbinden möchte (sind sozusagen updates).
Wie schaff ich es die Tabellen und somit die betreffenden Abfragen zu aktualisieren. Also wie schaff ich es die neue upgedatete .txt im meine schon vorhandene Tabelle zu integrieren, so dass sich anschließend auch die Abfrage ändert???
Wäre sehr über schnelle Hilfe erfreut
Danke
Antwort schreiben
Antwort 1 von Marie vom 01.11.2019, 14:38 Options
Na wenn Du die Daten aus der txt in Deine vorhandene Tabelle schiebst, dann ändert sich die Abfrage automatisch.
Habe nur nicht verstanden ob in der Textdatei lauter neue Datensätze sind, die du dann mit einer Anfügeabfrage anfügen kannst, oder ob dort alle Daten aktualisiert vorliegen und Du deshalb deine alte Tabelle erst leeren musst und dann alle Daten aus der Textdatei anfügen. Wichtig wäre noch zu wissen, ob in de textdatei Spaltenübershriften vorliegen, die identisch mit deinen feldnamen in der Tabelle sind.
In jedem Fall musst Du erstmal die Textdatei importieren und schauen, ob alle Felder klar sind, ob es möglich ist, dass Du gleich alle Formate korrekt vorliegen hast.
Mach mal soweit und frag dann konkret, wo Du möglicherweise hängenbleibst und mit welcher Fehlermeldung.
gruß marie
Antwort 2 von maku vom 01.11.2019, 15:28 Options
Hallo Marie,
danke für deine schnelle Antwort.
Die Textdatei hat Spaltenüberschriften und diese sind eigentlich identisch mit den Tabellenspalten, allerdings können auch neue Spalten auftreten.
In der Textdatei liegen alten, wie auch neue Daten.
Nun würde ich gern, dass die alten erhalten bleiben und die neuen integriert werden.
Bsp:
Tabelle --
ID Jahr 2004 Jahr 2003 ...
1 7458 3748
2 4474 4374
3 6743 1234
.txt
ID Jahr 2005
1 3445
2 4325
3 9544
Jetzt möcht ich gern meine Daten aus der Textdatei in meine Tabelle importieren, und zwar so:
ID Jahr 2005 Jahr 2004 Jahr 2003
1 ... ... ...
2 ... ... ...
3 ... ... ...
tschau
Antwort 3 von Marie vom 01.11.2019, 15:51 Options
Das verstehe ich jetzt immer noch nicht ganz.
Zitat:
In der Textdatei liegen alten, wie auch neue Daten.
Nun würde ich gern, dass die alten erhalten bleiben und die neuen integriert werden.
Du musst Dich jetzt schon exakt ausdrücken was Du willst:
1) Kann die alte Tabelle gelöscht werden, weil alle alten Daten in der Textdatei enthalten sind oder
2) Sind in der Textdatei alte daten, aber nicht alle, also muss überprüft werden welche vorhanden sind und welche nicht. Wenn dies der Fall ist, dann müssen eindeutige felder vorhanden sein und Du schreiben welche, damit man eine Abfrage erstellen kann, welche Daten angefügt werden müssen und welche nicht.
3) Eine neue Tabellenspalte anfügen kann man nicht im selben Atemzug wie Daten anfügen, also wäre es vermutlich sinnvoll die Neue Tabelle einzulesen und die Daten der alten, die nicht vorhanden sind, dort anzufügen?
Keine Ahnung, also bitte genauer sagen was wo in welcher Tabelle erhalten bleiben muss und was neu hinzugefügt werden muss.
gruß Marie
Antwort 4 von Marie vom 01.11.2019, 15:57 Options
Also in Deinem Beispiel sieht es so aus, als wenn nur eine neue Spalte (=lufendes Jahr) angefügt werden müsste und alle Datensätze mit einer eindeutigen ID vorhanden wären?? Falls sonst nichts angefügt werden muss, dann fügen wir die neue Spalte an und dann die Daten von dieser. Aber sag mir bitte zuerst, ob das so ist, wie ich das jetzt verstanden habe, oder ob auch noch zusätzlich andere Spalten und neue Datensätze in der Textdatei sind? Und bitte schau mal im Tabellenentwurf gleich nach welches Format Deine Jahresspalten haben? Zahl Integer oder was?
gruß marie
Antwort 5 von maku vom 02.11.2019, 10:32 Options
hallo,
also, du hast mit 2. schon richtig gelegen, ich möchte gern die daten der alten tabelle mit den neuen daten vergleichen und gleichzeitig aktualisieren, wenn es dabei unterschiede gibt. ebenfalls gleichzeitig sollen ganz neue daten, wie z.b. von einem neuen jahr, als neue spalte in die tabelle eingefügt werden.
mein weiteres ziel wäre dies beschriebene durch eine automatik zum laufen zu bringen (z.b. durch anklicken eines buttons oder so).
also sprich, dass man die neuen daten als .txt vorliegen hat und dann durch die aktivierung des buttons ein makro in gang bringt, welches die neuen .txt dateien mit der vorhanden tabelle vergleicht und aktualisiert.
danke nochmal für deine antworten.
hoffe das klingt nicht allzu kompliziert.
tschau
Antwort 6 von Marie vom 03.11.2019, 13:34 Options
Zitat:
ich möchte gern die daten der alten tabelle mit den neuen daten vergleichen und gleichzeitig aktualisieren, wenn es dabei unterschiede gibt. ebenfalls gleichzeitig sollen ganz neue daten, wie z.b. von einem neuen jahr, als neue spalte in die tabelle eingefügt werden.
Also wenn Du dich nicht genauer ausdrücken kannst, dann kann ich Dir höchstens raten die neuen Daten zu importieren und die ID mit der in der bereits vorhandenen Datei zu vergleichen und fehlende Datensätz hinzufügen, falls welche vorhanden sind. Vorhandene Formatierungen gehen dabei möglicherweise verloren.
Wenn du jedoch genau weisst welche Spalten angehängt werden sollen und welches Format die haben sollen, dann ginge das natürlich auch eleganter.
Und wenn Du exakt schreiben würdest ob nur neue Daten hinzukommen oder auch die alten überprüft werden müssen ob sie sich geändert haben, dann wäre das auch eher zu beschreiben was Du tun musst.
Gruß marie
Antwort 7 von maku vom 05.11.2019, 11:10 Options
Hallo Marie,
hab so das gefühl, dass wir immerwieder aneinander vorbeischreiben.
wie kann ich denn die neuimportierten daten mit der id meiner tabelle vergleichen.
und welches ist die elegante lösung um spalten anzuhängen?
ebenso hast du recht mit der annahme, dass ich sowohl alte daten überprüfen, wie auch neue hinzfügen möchte.
danke für deine antwort, auch wenn wir noch nicht auf den selben nenner kommen (liegt aber mehr an mir, wenn ich mir deine antworten so anschaue)
gruß maku
Antwort 8 von Marie vom 05.11.2019, 12:31 Options
Das problem ist, dass Du nicht in einem Aufwasch Spalten anfügen und die Daten überprüfen und neue Datensätze anfügen kannst.
Wenn ich genau weiss, was Du willst, dann kann ich Dir in jedem Fall helfen, so lange ich das jedoch nicht weiss setz ich mich nicht ewig hin und programmier dir irgendwas und Du kannst es dann doch nicht brauchen, weil ich was falsch verstanden habe. Verstehst Du jetzt??
Du hast mir immer noch nicht beantwortet, ob es klar ist welche Spalten angehängt werden, was nützt es denn, wenn ich Dir jetzt den Code poste, dass eine Zahlenspalte für eine jahreszahl angehängt wird mit der Überschrift des aktuellen Jahres, dann sagst Du mir: ach ne, es soll eine Textspalte sein, dann ändere ich wieder auf eine Textspalte. Genauso ist es mit dem Überprüfen und Anhängen der Daten, solange ich nicht genau weiss, was ich machen soll, kann ich Dir keine konkrete Antwort geben.
Spalten anfügen muss ich mit Code, dazu muss ich das Format der Spalte kennen und deren Namen! Also bitte, wenn ich Dir helfen soll sag endlich mal konkret ob nur jährlich eine Spalte namens "Jahr (aktuelles Jahr) angefügt werden soll und ob das Zahlenformat oder Textformat ist. Sind das jedoch mal mehr mal weniger und auch unbekannte Spalten, dann geht der Weg nicht, dann muss man das so anpacken wie oben beschrieben: neue Textdatei übernehmen und mit der alten abgleichen.
Du siehst, schon für den Anfang ist es entscheidend zu wissen was angefügt werden muss.
Gruß Marie
Antwort 9 von Marie vom 05.11.2019, 12:34 Options
Beantworte mir doch bitte einfach mal konkret meine Fragen in Antwort 4 ohne drumherumzureden. :-)
Antwort 10 von maku vom 05.11.2019, 14:48 Options
hallo marie,
also hab das mit der anzufügenden spalte hinbekommen.
mach alles über excel, geht problemlos über verknüpfte tabelle. nur wenn man in excel eine neue spalte anlegt, wird diese zwar in access angelegt, leider fehlt aber die bezeichnung der spalte, da heißt es dann wohl manuelle nacharbeit.
trotzdem vielen dank erstmal.
gruß maku