Importierte Tabellen erweitern mit Vorbelegung

Hallo zusammen,

habe gestern angefangen bzgl. eines etwas größeren Themas (Beitrag im DB-Brett) nach vielen Jahren mal wieder etwas mit Access (2010) zu spielen, und bin dabei gleich bei einer an sich trivialen Thematik hängen geblieben. Ich will eine Tabelle (aus Word umgewandelt in Text mit Trennzeichen) so importieren, dass ich in Access entweder direkt oder mit Zwischenschritt in eine Tabelle importiere, die zusätzliche Felder hat. Meinte mich zu erinnern, beim Import über den Assistenten angeben zu können, welcher Importwert in welche Spalte der vorhandenen Access-Tabelle kommt, wollte aber nicht funktionieren. Sobald ich eine Spalte überspringen wollte, bekam ich nur noch Indexfehler.

Geht das überhaupt assistentengestützt?

Weiteres Thema: Ich möchte beim Import auch gleich die nicht importierten Felder für die neuen Datensätze mit Standardwerten vorbelegen. Auch hierzu die Frage: Geht das nur mit größerer Programmierung, oder kann man das über einen Assistenten/Tool, … hin bekommen? Ideal wäre so eine Geschichte im Sinne einer Maske mit Auswahl der zu importierenden Datei, Zuordnung der Felder der Importdatei auf die vorhandene Tabelle, und Eingabe der Standardwerte für die nicht importierten Felder, und dann „Rubbel-die-Katz“.

Als Beispiel:

Importdatei: ABC.txt

Referenz=Referenz
Klausel=Klausel
jn=jn
Kommentar=Kommentar
Dateiname=„ABC“ (das wäre jetzt ein mit Standardwert vorzubelegende Feld)
Dateiversion=„1.0“ (dito)

Fällt jemand hierz etwas sinnvolles ein?

Es geht natürlich auch ein wenig Code, der so eine Maske einfach nur für die ohnehin fixen Vorbelegungen zur Eingabe anzeigt und eine Schleife im Hintergrund, die dann den Import nebst den Vorbelegungen vornimmt.

Gruß vom Wiz

Hallo

habe gestern angefangen bzgl. eines etwas größeren Themas
(Beitrag im DB-Brett) nach vielen Jahren mal wieder etwas mit
Access (2010) zu spielen, und bin dabei gleich bei einer an
sich trivialen Thematik hängen geblieben. Ich will eine
Tabelle (aus Word umgewandelt in Text mit Trennzeichen) so
importieren, dass ich in Access entweder direkt oder mit
Zwischenschritt in eine Tabelle importiere, die zusätzliche
Felder hat. Meinte mich zu erinnern, beim Import über den
Assistenten angeben zu können, welcher Importwert in welche
Spalte der vorhandenen Access-Tabelle kommt, wollte aber nicht
funktionieren. Sobald ich eine Spalte überspringen wollte,
bekam ich nur noch Indexfehler.

Geht das überhaupt assistentengestützt?

Vergiss die Assistenten…

Weiteres Thema:Ich möchte beim Import auch gleich die nicht
importierten Felder für die neuen Datensätze mit
Standardwerten vorbelegen. Auch hierzu die Frage: Geht das nur
mit größerer Programmierung, oder kann man das über einen
Assistenten/Tool, … hin bekommen?

Wie oben, vergiss die Assistenten…

Was verstehst Du unter „größerer Programmierung“ ?

Ideal wäre so eine
Geschichte im Sinne einer Maske mit Auswahl der zu
importierenden Datei, Zuordnung der Felder der Importdatei auf
die vorhandene Tabelle, und Eingabe der Standardwerte für die
nicht importierten Felder,

Das wäre ein gangbarer Weg…

Erstell ein Formular mit Textfeldern für die „Standardwerte“ und den Buttons „btnImportieren“ und „btnFiledialog“. Mit „btnFiledialog“ wird die zu importierende CSV-Datei ausgewählt und deren Dateiname in einem der Textfelder angezeigt. Die anderen Textfelder können mittels der Textfeld-Eigenschaft „Standardwert“ mit irgendwelchen Vorgabewerten ausgefüllt werden. Mit „btnImportieren“ wird die ausgewählte CSV-Datei (d. h. die darin stehenden Datensätze) in die Access-Tabelle eingefügt (entweder angehängt oder, wenn die Access-Tabelle vorher geleert wird, auch nur kopiert). Das geschieht mit einem per VBA zusammengebauten Anfüge-SQL-String, dem alle Felder (Felddaten) mitgegeben werden und der per Dao.Execute ausgeführt wird.

und dann „Rubbel-die-Katz“.
Als Beispiel:

Importdatei: ABC.txt

Referenz=Referenz
Klausel=Klausel
jn=jn
Kommentar=Kommentar
Dateiname=„ABC“ (das wäre jetzt ein mit Standardwert
vorzubelegende Feld)
Dateiversion=„1.0“ (dito)

Fällt jemand hierz etwas sinnvolles ein?

Es geht natürlich auch ein wenig Code, der so eine Maske
einfach nur für die ohnehin fixen Vorbelegungen zur Eingabe
anzeigt und eine Schleife im Hintergrund, die dann den Import
nebst den Vorbelegungen vornimmt.

Gruß vom Wiz

Gruß
Franz, DF6GL

Hallo,

besten Dank für den Hinweis. Der Wunsch, das Thema möglichst über Assistenten/Tools erledigen zu wollen, kommt einfach daher, dass ich aus dem Thema Access vollkommen raus bin, und da auch nie viel mehr als ein paar Tabellen mit Masken, ggf. ein paar Abfragen, mal eine Datenübergabe an Word, … gemacht habe.

SQL spreche ich höchsten gebrochen (sagen wir besser, ich verstehe ein nicht zu komplexes Statement, wenn ich es lese), und VBA habe ich auch vor Ewigkeiten mal in höchst bescheidenem Umfang gemacht. Auch da gilt: Ich verstehe nicht zu anspruchsvollen Code, aber selbst schreiben ist schon etwas anderes.

Natürlich kann ich mir für diesen Fall jetzt irgenwie den Code zusammensuchen (oder ein freundlicher Geist hier schreibt mir ein grundsätzliches Beispiel), aber ich habe momentan das Problem/Thema ziemlich viel mit solchen Tabellen auf Basis an sich recht einfacher Operationen machen zu müssen, und zwar eher einmalige Aktionen. Da würde es natürlich schon Spaß machen, so etwas über eine Oberfläche zusammenklicken zu können, und nicht jedes Mal wieder anfangen zu müssen, „wie war das noch mal, welche SQL-Befehle brauche ich dafür, wie bekomme ich das in VBA eingebettet, …“. Mit Abfragen und Berichten geht das unter Access ja ganz gut, und daher hatte ich gehofft, beim Import/Vervollständigen auf Ähnliches zurückgreifen zu können.

Ich will mir ja mit der Geschichte nur die eigentliche Arbeit leichter machen, die rein inhaltlich an den Texten stattfindet, und keine Anwendung entwickeln. Insoweit wäre der Aufwand sich jetzt auch nur annähernd ausreichend in VBA und SQL einzuarbeiten, damit so etwas dann flüssig z.B. über eine Konsole abzuwickeln wäre, nicht vernünftig.

Gruß vom Wiz