Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Datenvergleich beim Import

Datenvergleich beim Import 6 Jahre 3 Monate her #103

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Anfrage per Email erhalten

Hallo Herr Stark,

ich benötige mal wieder Ihre Hilfe.

Wir möchten beim Import einen Vergleich anstellen wie folgt:

Datei = txt/csv DB = Access

Vergleich1: Artikelnr Artnr FeldA

4711 4711 X
4812

Wenn die Artikelnummer gefunden wird soll er in FeldA ein X setzen


Vergleich2: Artikelnr Preis Artnr Preis FeldP

4712 12,00 4712 12,00 N
4811 25,50 4811 28,00 A


Mit freundlichen Grüßen
Albert Maul
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Datenvergleich beim Import 6 Jahre 3 Monate her #104

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Maul,

Vergleiche der Importdaten mit der WRITE Seite während des Importes können Sie mit dem If-Then-Else Heater zusammen mit dem Lookup Heater durchführen. Zur Veranschaulichung habe ich Ihnen 2 kleine Beispiele erstellt, siehe Anhang.

Wichtig im Zusammenhang mit dem Lookup Heater ist, dass die (Eingangs) Datentypen den Datentypen der WRITE Seite entsprechen.

Schauen Sie sich hierzu mal die Datentypen der Felder ArtikelNr und Preis der CSV Datei auf der READ Seite an. Hier wurden die Datentypen INT sowie Currency eingestellt. Diese Datentypen entsprechen den Access Datentypen auf der WRITE Seite.
ArtNr = Währung,
Preis = Zahl (Long)

Der Weg der Daten:
Im If-Then-Else Heater wird geprüft ob der Wert, der vom Lookup Heater kommt ungleich NULL ist (Datensatz wurde gefunden). Ist dies der Fall, wird der statische Wert "X" zurückgeliefert. Liefer der Lookup Heater den Wert Null wird hier der statische Wert "-" geliefert. Schauen Sie sich hierzu den zweiten X-Value Heater an. Möchten Sie hier den Wert DBNULL in die Access Datenbank schreiben, müssen Sie lediglich diesen Heater mit dem DBNULL Heater ersetzen.

Achtung: Wird hier in dem Beispiel der ELSE Zweig nicht angegeben wird eine Fehlermeldung generiert, dass das Update keine Daten geniert hat!

Anhang Lookup.zip nicht gefunden

Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Datenvergleich beim Import 6 Jahre 3 Monate her #112

  • Albert Maul
  • Albert Mauls Avatar
  • Offline
  • New Member
  • Beiträge: 6
wie kann man beim Lookup Heater abfangen wenn er Artikelnummern in der Textdatei findet, die nicht in der Accesstabelle stehen, hier meldet der Lookup Heater einen Fehler.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Datenvergleich beim Import 6 Jahre 3 Monate her #113

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
In der Beispiel CSV Datei (s. Anhang Lookup.zip) ist doch z.B. die ArtikelNr 1111 vorhanden die in der Access Tabelle nicht vorkommt? Können Sie mal ein Beispiel sowie die Fehlermeldung Posten die Sie erhalten.
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Datenvergleich beim Import 6 Jahre 3 Monate her #132

  • Albert Maul
  • Albert Mauls Avatar
  • Offline
  • New Member
  • Beiträge: 6
Sehr geehrter Herr Stark,

Fehler habe ich gefunden inder IF/Then/Else Abfrage habe ich das ! in der Bedingung übersehen.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Datenvergleich beim Import 5 Jahre 11 Monate her #250

  • Albert Maul
  • Albert Mauls Avatar
  • Offline
  • New Member
  • Beiträge: 6
Hallo Herr Stark,

wie müsste das Beispiel geändert werden wenn man Daten importiert, wenn er den Artikel findet soll ein A gesetzt werden für eine Neuanlage ein N und für die Artikel die nicht mehr in der Textdatei stehen soll ein L gesetzt werden.

mfg

Albert Maul
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Datenvergleich beim Import 5 Jahre 11 Monate her #253

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Maul,

dazu benötigen Sie in diesem Beispiel zusätzlich einen .NET Script Heater und folgendes kleines C# Skript.
bool bFirst = true;

public object DoWork()
{
	// nur beim 1. Aufruf und nicht im Testmodus!
	if (bFirst && AdapterWrite.OnlyTest == false)
	{
		bFirst = false;
		
		// alle Datensätze mit L vorbelegen
		// hier die Tabelle uns das Feld anpassen
		AdapterWrite.Execute("update t_Vergleich1 set FeldP = 'L'");
	}

	// Eingangsparamter für die weitere Verarbeitung wieder zurück
	return InValues[0].GetValue();
}

Das Skript führt vor dem eigentlichen Import lediglich einen Update auf der Zieltabelle aus. Es werden alle Datensätze mit einem 'L' vorbelegt. Danach startet die Definition und aktualisiert diese Werte mit dem Inhalt 'A' falls der Datensatz gefunden wurde. Neue Datensätze werden beim Import dann mit einem 'N' hinzugefügt. In der CSV Datei nicht mehr vorhandene Datensätze haben somit den Wert 'L' durch das SQL Update Statement vom .NET Script Heater.

Um das Skript verwenden zu können. Müssen Sie das SQL Update Statement an Ihre Tabellen und Feldnamen anpassen (s. dazu auch den Kommentar im Skript).

PS: Die 2 Beispiele wurden im Anhang angepasst.

Anhang Lookup-20101217.zip nicht gefunden

Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.086 Sekunden