Mehre CSV Dateien in eine OOo Base Abfrage einfügen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von Zaldo » Sa, 06.02.2016 00:01

Ok, danke. Das hat geklappt.

LG
Holger

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Fr, 05.02.2016 21:31

Hallo Holger,

ich habe zu CSV und Base hier mehrere Dateien. Welche das war, die ich da angehängt habe, kann ich nicht genau sagen. Der Download von der ursprünglichen Quelle scheint jedenfalls defekt zu sein. Ich hänge einmal zwei Dateien aus dem Zeitraum an.

Gruß

Robert
Dateianhänge
CSV_Import_Verzeichnis.odb
(16.29 KiB) 203-mal heruntergeladen
Beispiel_CSV_Import.odb
(23.94 KiB) 154-mal heruntergeladen

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von Zaldo » Fr, 05.02.2016 19:16

Hi Robert,

das passiert in dem Moment in dem ich die Datei in der Box "Dateianhänge" anklicke

LG
Holger

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Fr, 05.02.2016 18:36

Hallo Holger,

wo taucht diese Meldung "Die Datei kann nicht übertragen werden." auf?

Gruß

Robert

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von Zaldo » Fr, 05.02.2016 03:03

Hallo zusammen. Ich habe mich gerade neu hier angemeldet, und ich weiß, einen drei Jahre alten Thread wiederzubeleben grenzt an Leichenschändung. Aber ich habe zur Zeit etwas ähnliches vor wie der TO und wollte mir gerne mal ansehen wie RobertG das gemacht hat (weil ich noch auch fast keine Erfahrungen mit Base und Makroprogrammierung habe).

Aber leider... "Die Datei kann nicht übertragen werden."
Hmmm. Warum?

Beste Grüße
Holger

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Do, 31.01.2013 17:51

Hallo Marco,

Deine Fehlermeldung kommt direkt beim Erstellen der Tabelle und dort bei dem allerersten Feld, wenn ich das richtig sehe (letzte Möglichkeit in der Schleife, überhaupt einen Feldnamen zu erstellen). Dabei wird ausgegeben, dass das Array aFeldnamen(inZaehler) nicht ausgelesen werden kann, da wohl inZaehler einen Wert hat, der außerhalb des definierten Bereiches liegt.
Vielleicht ist an der Definition des Arrays bereits etwas faul: aFeldnamen() = aDaten().
Ich nehme an, dass ich in der Behandlung der Arrays etwas schludrig war und LO da etwas gutmütiger mit umgeht als OOo 3.2.1. Ich habe die Arrays nicht ausdrücklich zum Beginn als Variablen deklariert. Das habe ich jetzt in der Überarbeitung geregelt - kann den Unterschied hier aber leider nicht testen.

Gruß

Robert
Dateianhänge
CSV_Import_Verzeichnis.odb
Neu angehängt am 5.2.16, da Download defekt
(16.29 KiB) 147-mal heruntergeladen

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von juetho » Do, 31.01.2013 16:48

Angesichts der Fehlermeldung bietet es sich an, das Makro im Debug-Modus laufen zu lassen. Setze einen Haltepunkt auf die Zeile davor und untersuche den Inhalt der Variablen inZaehler (aktueller Wert) und aFeldnamen (Dimension des Arrays und aktuelle Werte). Es sieht so aus, dass inZahler kleiner als Null oder größer als uBound(aFeldnamen) ist. Jürgen

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von MarcodaMaster » Do, 31.01.2013 16:16

Hallo Robert,

ich habe es jetzt mit einer Dummytabelle probiert, wie du es gesagt hast. Leider ohne Erfolg...
Wenn ich auf "Importieren" klicke, macht er jedes Mail OO Basic mit der Fehlermeldung auf und hat folgende Zeile markiert:
stSql = stSql + """" + aFeldnamen(inZaehler) + """ VARCHAR(100),"

Ich benutze KDE Desktop mit OpenOffice 3.2.1

Eventuell hast du je noch mal eine Idee, wenn du ein bisschen mehr Zeit hast.

Aber schon mal DANKE.

Gruß
Marco

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Mi, 30.01.2013 19:49

Hallo Marco,

habe gerade sehr wenig Zeit. Deswegen nur zwei Tipps:
1. Du brauchst wirklich nur eine Datei aus dem Verzeichnis auszuwählen. Der Rest sollte selbst geschehen.
2. Bei mir funktionierte das komischerweise mit der Datei, die ich im Netz stehen hatte, zuerst auch nicht. Nachdem ich sie erneut geöffnet hatte klappte alles. Irgendwie scheint der Zugriff auf die gerade gegründete Tabelle bei Base nicht anzukommen. Base scheint Probleme mit der komplett leeren Datenbank zu haben. Vielleicht klappt das ja auch mit einer Dummytabelle, die erst einmal angelegt wird?

Meine Tests mache ich hier mit LO 3.3.4 und OpenSuSE 11.4

Gruß

Robert

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von MarcodaMaster » Mi, 30.01.2013 08:26

Guten Morgen Robert,

ob jetzt eine Verzeichnisauswahl oder Dateiauswahl verbaut ist stört mich nicht :-)
Leider erscheint bei mir immer noch die Fehlermeldung und erstellt danach keine Tabelle.

Ich habe die einzelnen Schritte hier noch mal bebildert:
1. Öffnen der Datenbank
Schritt1.jpeg
Schritt1.jpeg (59.28 KiB) 9113 mal betrachtet
2. Öffnen des Formulars
Schritt1.jpeg
Schritt1.jpeg (59.28 KiB) 9113 mal betrachtet
Schritt2.jpeg
Schritt2.jpeg (40.35 KiB) 9113 mal betrachtet
Habe den Dateinamen durch "*.csv" ersetzt
Nun habe ich auf "Importieren" geklickt

3. Basic öffnet sich mit der Fehlermeldung
Schritt4.jpeg
Schritt4.jpeg (109.95 KiB) 9113 mal betrachtet
Wenn ich mit der Maus über "stSql" bewege erscheint nur ein blauer Streifen
Schritt5.jpg
Schritt5.jpg (185.76 KiB) 9113 mal betrachtet
Nun habe ich in der Datenbank in den Bereich "Tabellen" gewchselt. Leider ist keine Tabelle zu sehen.
Schritt6.jpeg
Schritt6.jpeg (51.59 KiB) 9113 mal betrachtet
Mache ich jetzt noch etwas falsch oder habe ich was vergessen?

Vielen Dank
Marco

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Di, 29.01.2013 19:46

Hallo Marco,

schöner wäre natürlich ein mögliches Verzeichnisauswahlmenü. Da habe ich mir dann einfach gesagt: Nimmst Du das Dateiauswahlmenü und lässt einfach den Dateinamen abschneiden. Du kannst also jede beliebige Datei in dem Verzeichnis auswählen. Der Dateiname wird abgeschnitten und durch "*.csv" ersetzt.
Die Fehlermeldungen allein helfen aus der Ferne nicht viel. Wenn Du bei so einer Meldung mit der Maustaste auf "stSql" in der besagten Zeile gehst, dann müsste da etwas angezeigt werden. Vermutlich ist es aber das fehlende Abfangen von der Meldung, dass keine Datei entsprechender Art gefunden wurde und der Import trotzdem starten möchte.

Probiere erst einmal den Import, wenn Du eine beliebige Datei aus dem Verzeichnis auswählst - dann probiere ich hier weiter, falls etwas nicht klappt.

Gruß

Robert

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von MarcodaMaster » Di, 29.01.2013 12:02

Hallo,

vielen Dank schon mal Robert.
Leider erscheint bei mir noch eine Fehlermeldung. Mache ich etwas falsch?
Hier mal die Screenshots wie ich vorgehe:
Hier wähle ich den Pfad aus, oder muss ich direkt eine Datei auswählen?
CSV_Import.jpeg
CSV_Import.jpeg (41.64 KiB) 9211 mal betrachtet
Dann kommt folgende Fehlermeldung:
Fehlermeldung.jpeg
Fehlermeldung.jpeg (140.76 KiB) 9211 mal betrachtet
Ich habe im Anhang noch mal eine Musterdatei hochgeladen, die rot markierten Felder werden benötigt. (Kann es leider nur als ods-Datei hochladen)
Bestellung_30382000.ods
Musterdatei
(8.79 KiB) 255-mal heruntergeladen
Vielen Dank
Marco

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Sa, 26.01.2013 21:36

Ich lege einmal nach:
In der vorhergehenden Version konnten CSV-Dateien noch nicht korrekt ausgelesen werden, wenn die erste Zeile bereits die Spaltenbezeichnungen für die Tabellen enthielt. Da habe ich jetzt (hoffentlich einwandfrei) nachbessern können. Wenn also in der ersten Zeile jetzt Spaltenbezeichnungen vorhanden sind, dann werden diese übernommen und die zweite Zeile der zuerst eingelesenen Tabelle nach den möglichen Feldtypen untersucht. Nicht erkannte Feldtypen werden übrigens alle mit dem Feldtyp "Text (VARCHAR(100))" versehen.

Gruß

Robert
Dateianhänge
CSV_Import_Verzeichnis.odb
Kleine Verbesserung bezüglich Datumseinlesen - ist jetzt vielleicht von der Überprüfung her sicherer.
(15.26 KiB) 309-mal heruntergeladen

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von RobertG » Sa, 26.01.2013 19:26

So, ich habe die Datei jetzt fertig. Die Base-Datei besteht aus einem Makromodul und einem Formular. Die Datei darf nicht in dem gleichen Verzeichnis liegen wie die *.csv-Dateien - gibt sonst eine Fehlermeldung aus.

Was im Test geht:
In dem Formular wird das Verzeichnis mit den *.csv-Dateien aufgerufen. Alle in dem Verzeichnis vorhandenen *.csv-Dateien sollten die gleiche Struktur haben. Sind Dateien mit anderer Endung vorhanden, so werden die einfach nicht eingelesen.
Wird im Formular vorgewählt, dass die erste Zeile Feldbezeichnungen enthält, so wird sie nicht eingelesen (da muss ich noch etwas nachbessern, damit die Feldnamen übernommen werden).
Die Feldtypen werden entweder anhand der besonderen Feldbezeichnung der ersten Zeile festgestellt (dazu muss das Makro allerdings einmal angesehen werden) oder automatisch aus dem ersten Datensatz bestimmt. Aus allen *.csv-Dateien wird eine zusammenhängende Tabelle in der Base-Datei gebildet. Diese Tabelle wird wieder gelöscht, wenn sie beim nächsten Einlesen mit dem Namen noch existieren sollte.

Das Ganze dürfte dann den Zugriff auf die Daten im Zusammenhang einfacher machen.

Gruß

Robert
Dateianhänge
CSV_Import_Verzeichnis.odb
(14.77 KiB) 351-mal heruntergeladen

Re: Mehre CSV Dateien in eine OOo Base Abfrage einfügen

von juetho » Sa, 26.01.2013 13:02

@Robert
Dachte ich mir doch, dass es mit Basic geht. Sicherheitshalber möchte ich auf unklare Aussagen des TE hinweisen:
MarcodaMaster hat geschrieben:Diese Tabellen würde ich jetzt gerne mit ausgewählten Spalten in eine Abfrage oder Tabelle bekommen.
Wohlgemerkt: Hier schreibt er "Abfrage oder Tabelle". Später heißt es dagegen:
In dieser Datenbank kann ich keine neue Tabelle erstellen.
Gruß Jürgen

Nach oben