Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!

Access CSV Import, vorhandene Datensätze aktualisieren

Das Beispiel zeigt wie mit Hilfe des Access Adapters eine CSV Textdatei in ein Access Datenbank Tabelle importiert wird. Dabei wird zusätzlich verdeutlicht wann der FlowHeater Daten beim importieren anfügt (insert) oder aktualisiert (update).

Hinweis: Nach dem gleichen Prinzip funktioniert auch der CSV bzw. FlatFile Export. Dazu müssen lediglich die Adapter der READ und WRITE Seite ausgetauscht werden.
Die fertige Definition können Sie sich im Verzeichnis Examples\DE\AccessAdapter\csv-import-ms-access.fhd ansehen. Alle Beispiele sind im ZIP Archiv zum FlowHeater enthalten. Das Beispiel kann für die MS Access Versionen 97, bis Office/Access 2016 verwendet werden. Es werden die MS Access Datenbankformate MDB, MDE, ACCDB und ACCDE unterstützt.

 


MS Access Adapter auswählen

MS Access Adapter auswählenMS Access Adapter auswählenFangen wir an. Öffnen Sie den FlowHeater und klicken den Menübefehl "Neu" an um eine neue Definition zu erzeugen. Stellen Sie im folgenden Dialog für den READ Adapter " TextFile Adapter" und für den WRITE Adapter "Access Adapter " ein.

 

CSV Import Textdatei auswählen

CSV Import Textdatei auswählenCSV Import Textdatei auswählenBestätigen Sie den Dialog mit OK und öffnen anschließend den Configurator für den READ Adapter und wählen die Datei article.csv aus dem Verzeichnis "Examples\DE\AccessAdapter" aus. Aktivieren Sie das Kontrollkästchen "Erste Zeile enthält Feldnamen" und bestätigen Sie die Nachfrage ob die Feldnamen übernommen werden sollen. Alle übrigen Einstellungen dieser Seite/Reiter belassen wir beim Standard.

Verlassen Sie den Dialog mit OK und Öffnen den Configurator für den WRITE Adapter.

 

MS Access Adapter konfigurieren

MS Access Adapter konfigurierenMS Access Adapter konfigurierenTragen Sie für die Datenbank fh.mdb ein. Die Access Datenbank befindet sich ebenfalls im Verzeichnis Examples\DE\AccessAdapter.

Beachten Sie die 2 Kontrollkästen im unteren Bereich des Dialogs.

     x Daten anfügen (Insert)
     x Daten aktualisieren (Update)

Hiermit weisen wir den FlowHeater an anhand des PrimaryKeys der Access Tabelle selbst zu prüfen wann Daten angefügt und wann Daten aktualisiert werden müssen.

 

Access Adapter, Felder und Datentypen

Access Adapter, Felder und DatentypenAccess Adapter, Felder und DatentypenWechseln Sie jetzt auf den Reiter "Felder / Datentypen".

Wählen Sie hier im Kombinationsfeld die Tabelle "t_Artikel" aus und klicken anschließend den Button "Einlesen" an. Alle anderen Felder lassen wir so wie sie sind und verlassen den den Dialog über OK.

Hiermit werden die Schemainformation der Tabelle aus der Access Datenbank abgerufen um sie in der FlowHeater Definition mit abzuspeichern.
Es werden u.a. Feldnamen, Feldlängen, Datentypen, Schlüsselinformationen (Primary Key) sowie ob einem Feld das Attribut „Auto Inkrement“ zugewiesen wurde, abgerufen.

Wichtig: Die hier ausgelesen Informationen können für Sonderfälle abgeändert werden. Z.B. können Sie durch das ändern der Primary Key Felder steuern anhand welcher Felder der Access Adapter einen evtl. Update durchführen soll. Durch das manuelle ändern hier wird nicht die zugrundeliegende MS Access Tabelle geändert!

 

Felder verbinden

Felder verbindenFelder verbindenIm Designer ziehen wir zuerst das Feld ArtikelNr von der linken Seite über Drag und Drop auf die rechte Seite auf das gleichnamige Feld ArtikelNr der Access Tabelle. Anschließend platzieren wir den Heater SubString auf dem Designbereich und ziehen (nochmal) das Feld ArtikelNr von der linken Seite in den Eingang des Heaters. Den Ausgang des Heaters ziehen wir dann auf das Access Tabellenfeld Produktgruppe. Öffnen sie dann den Eigenschaftendialog des Heater SubString über einen Doppelklick auf diesen. Tragen Sie für StartIndex 0 sowie für die Länge 1 ein und verlassen den Dialog über OK. Das Feld Beschreibung der linken Seite ziehen wir 1:1 auf das Feld ArtikelName der rechten Seite.

Jetzt wird es interessant. Den Artikelpreis wollen wir nicht einfach so nach Access übernehmen, sondern 20% aufschlagen, wir wollen ja was verdienen! Ziehen Sie dazu 1x den Heater Multiplikation sowie 1x den Heater X-Value auf den Designbereich. Tragen Sie im aufgehenden Eigenschaftendialog "1,20" ein.

Hinweis: Das Eingabeformat muss dem Zahlenformat wie´s im Write Adapter angegeben ist entsprechen!

Verbinden Sie nun das Feld Preis der CSV Datei der linken Seite mit dem Eingang des Heaters Multiplikation. Danach ziehen Sie den Ausgang des Heaters X-Value auf den Eingang des Heaters Multiplikation. Zum Schluss verbinden wir noch den Ausgang des Heaters Multiplikation mit dem Access Feld Preis. Als letztes ziehen wir noch den Heater Now (= Aktuelles Datum/Uhrzeit) auf den Designer und verbinden den Ausgang mit dem Access Feld LetzteAktualisierung. Das war´s Ihr Bildschirm sollte nun so aussehen.

 

Definition ausführen

Definition ausführenDefinition ausführenFühren wir die Definition aus, über einen Klick auf den rot markierten Button (alternativ können Sie auch die F5 Taste betätigen) öffnet sich der Test und Ausführen Dialog des FlowHeaters. Hierrüber können wir den Import vor dem eigentlichen importieren testen ohne dass dabei Daten im Datenziel geändert werden. Probieren wir es aus, klicken Sie ohne eine Änderungen im Test und Ausführen Dialog vorzunehmen auf den Button "Definition ausführen".

Die Beschriftung des Buttons ändert sich auf kurz auf "Abbrechen", dann erscheint folgendes Fenster. Hinweis: über den Abbrechen Button können (langlaufende) FlowHeater Definitionen jederzeit abgebrochen werden.

 

CSV Import Testlauf

CSV Import TestlaufCSV Import TestlaufHier sehen wir am ersten Feld "FH Action", dass der FlowHeater die Daten an die Access Tabelle anfügen würde. Sie können auch die Access Datenbank öffnen und nachsehen, es wurden noch keine Daten geschrieben. Schließen Sie den Dialog und deaktivieren Sie die CheckBox Testlauf im Test und Ausführen Dialog und führen die Definition erneut aus. Sieht fast genauso aus wie vorher, nur mit dem Unterscheid, dass die Daten jetzt in die Access Tabelle übernommen wurden. Und weil´s so schön war bitte nochmal ausführen. Beachten Sie, dass jetzt die "FH Action" von Insert auf Update gewechselt hat!

Das einziges Manko unserer Definition können Sie selbst noch ausbessern. Der berechnete Preis hat teilweise mehr als 2 Nachkommastellen. Um dies zu ändern müssen Sie nur den Heater Round per Drag und Drop direkt in die Pipe (Verbindung) zum Artikelpreis der Access Datenbank Tabelle ziehen, das war´s. Der Heater Round rundet standardmäßig zahlen auf 2 Nachkommastellen, wenn Sie mehr oder weniger benötigen, können Sie dies über einen Doppelklick auf den Heater über die Eigenschaften einstellen.

 

Microsoft®, Windows®, Access® sind eingetragene Markenzeichen der Microsoft Corporation