PDA

Vollständige Version anzeigen : Hilfe beim Import per Makro in 2 Tabellen?


<SiKo>
05.01.2002, 19:49
Hallo ihr,

ich muss mit einer Tetdatei (x.csv) 2 Tabellen meiner DB füllen. Da ich noch recht wenig Erfahrung mit Access habe, frage ich mich ob das überhaupt geht. Mit nur einer Tabelle klappt das, (über Makro, TextTransfer und der Import Spezifikation), aber bei 2 Tabellen komme ich nicht mehr weiter. Wer kann mir helfen???

Grüße, SiKo

Alexander Jan Peters
05.01.2002, 23:45
<font face="Tahoma">Hallo SiKo,

ganz pauschal kann man die Frage mit Ja beantworten, es geht. Aber, wie, das hängt davon ab, wie Deine Daten aussehen.
Beschreib doch bitte mal, wie die CSV-Datei aufgebaut ist und wie diese Inhalte auf die beiden Tabellen (welche Inhalte in welche Felder) verteilt werden sollen.

Gruß

A.J. Peters
</font>

SiKo
06.01.2002, 13:05
Hallo A.J.Peters,

erst mal vielen Dank für deine Antwort!!!
Ich bekomme Daten aus unserer Faktura als CSV oder TXT Datei, den direkten Aufbau in Bezug auf die Reihenfolge bestimme ich selbst, die Daten sind aber immer per Semikolon getrennt.
Die Tabellen sind Rechnung und Rechnungsdetaills (also das typische Beispiel).
Ich stelle mir den Aufbau in etwa so vor, dass ich RG-Nr;RG-Datum;Kunden-Nr;Nutzungungsrecht-Nr;Artikel;Menge;Einzelpreis;Konditionen übergebe.
Der erste Teil (bis Nutzungungsrecht-Nr soll in Tabelle Rechnung, der zweite Teil + die RG-Nr (aus der ersten Hälfte) soll in die Tabelle Rechnungsdetaills.
Problem ist dabei u.a. dass ich in der Tabelle Rchnungsdetaills einen Autowert als Schlüssel habe. Dieser soll nicht übergeben werden, sondern auch beim Import von Access selber vergeben werden.
Ein paar zusätzliche Daten, wie Name, PLZ und Ort vom Kunden muss ich dann in die Tabelle Rechnung über eine andere bestehende Kunden-Tabelle reinbekommen.
Ich hoffe, dass diese Erklärung wenigstens etwas verständlich ist, denn ich habe wie gesagt ziemlich wenig Ahnung von Access.
Vielen dank im voraus.

Gruß SiKo

Alexander Jan Peters
06.01.2002, 16:27
<font face="Tahoma">Hallo SiKo,

das klingt nicht so dramatisch. Am Einfachsten wirst Du die Problematik wohl mit zwei Importspezifikationen und dementsprechend zwei Importvorgängen lösen können. Das erfordert die geringsten Kenntnisse und da der Bezug zwischen den DS der beiden Tabellen ja über das bereits vorhandene Feld RG-Nr erfolgt, ist auch sichergestellt, daß man hinterher den Bezug der DS zueinander erkennen kann.
Die beiden Tabellen sind 1 zu N über das Feld RG-Nr verknüpft, oder? Das ist die eine Bedingung, die erfüllt sein muß, die andere ist, daß Du die beiden Tabellen angelegt haben mußt ;) .
Im Makro kannst Du dann nacheinander beide Importe durchführen, erst die Grunddaten, dann in der zweiten Zeile TextTransfer, Importspezifikation für die Details/Rechnungsposten (Reihenfolge ist wichtig).
Das Feld vom Typ Autowert ignorierst Du einfach, der Wert wird automatisch ergänzt.
Ich hoffe, das war verständlich,

Gruß

A.J. Peters</font>

SiKo
06.01.2002, 16:53
Hallo,
das war sogar super verständlich, vielen Dank für deine Hilfe!!!
Ich mache mich nachher dran und werde das mal testen.

Viele Grüße
SiKo

SiKo
10.03.2002, 21:44
Hallo ihr,

lang lang ist es her, ich bastel immer noch an meiner DB rum.
Folgendes Problem habe ich nun:

Bei meinem Import einer Textdatei in 2 Tabellen mittels zwei Import Spezifikationen wird der erste Bereich korrekt übernommen, der Autowert der ersten Tabelle wird ignoriert. Beim zweiten Teil erfolgt der Import aber nicht.
Muss ich ein Feld leer lassen und es in der Spezifikatin überspringen oder brauche ich es gar nicht erst angeben? Die Online-Hilfe gibt da wie üblich nicht viel her.
Bei mir funktioniert es momentan in beiden Fällen nicht.
Und wieso gibt es einen Unterschied ob ich eine Makro mit den Befehlen zum Import starte oder den Import mittels VBA als Ereignis hinter ein Optionsfeld lege?

Momentan sieht der Datensatz so aus:
RGNummer;DVNummer;Datum;Kundeseit;;;;Kd-Nr;DVKd-Nr;;Name1;Name2;Name3;;PLZ;Ort;MA;Zuordnung;Händler;Händler2;Händler3;DVArtikel; Menge;Einzelpreis;Kondis;Endpreis

Ab DVArtikel soll der Rest in die zweite Tabelle laufen. Diese hat wieder am Anfang die RgNummer, den AUTOWERT, dann DVArtikel;Menge;Einzelpreis;Kondis;Endpreis

Falls mir jemand dabei helfen kann wäre das super!!!

Vielen Dank vorab
SiKo

MP3
11.03.2002, 08:35
Hallo Siko
Warum importierst du nicht alles in eine Tabelle und erstellst aus dieser Importtabelle deine beiden Tabellen?

PS: es müsste natürlich auch mit 2 Importspezi gehen.

SiKo
12.03.2002, 09:33
Hallo MP3,

das wollte ich eigentlich vermeiden, weil ich 1. nicht so genau weiß wie das geht und 2. weil ich denke, dass das zuviel Speicher klaut.
Korrigier mich bitte falls das nicht so ist.

Mit den Spezis hat das mal geklappt, aber das war nur von kurzer Dauer. Dann mußte ich noch weitere Daten dazu nehmen und jetzt krieg ich's nicht mehr hin. Es lief aber auch nur aus VB heraus und nicht über ein Makro.

Gruß SiKo

MP3
12.03.2002, 10:47
Hallo SiKo
Versteh ich nicht ganz mit dem Speicher, du kannst ja die Gesamttabelle danach wieder löschen.
eine Tabelle in 2 zu teilen ist kein Problem, sieh dir mal die OH unter "Select into" bzw. "Insert into" an.