Das Fenster Filter/Formel

Das Fenster wird bei der Erstellung oder Änderung eines Importschemas über Schaltfläche Filter bzw. für das markierte mention-Feld über die Schaltfläche Formel geöffnet.

Wert; |<; <; >; >|

Über die Schaltflächen |<, <, > und >| können Sie sich innerhalb der Importdatei zeilenweise nach oben oder unten bzw. zur ersten oder letzten Tabellenzeile (für Exceldateien auf die ersten 50 Zeilen beschränkt) bewegen, um den Wert gemäß Ihrem Filter bzw. Ihrer Formel für die Tabellenzeile zu prüfen.

Filter

Im Fenster Filter können über entsprechende Filterdefinitionen Datensätze aus der Importdatei beim Import ausgeschlossen werden.

Beispiele für Filter

Aus einer Textdatei sollen nur die Datensätze importiert werden, die

im Feld F_3 den Zahlenwert 0 enthalten: F_3 = 0

im Feld F_7 mit einer bestimmten Zeichenfolge (z. B. MON) beginnen:  F_7 = 'MON'

im Feld F_7 eine bestimmte Zeichenfolge (z. B. MON) enthalten (und nur diese, d. h. genau gleich): F_7 == 'MON'

im Feld F_4 ist ein bestimmter Text (Test) n-mal enthalten:  atc ('test',F_4) = n
Groß- bzw. Kleinschreibung wird dabei ignoriert. Soll der Text nicht enthalten sein, setzen Sie n=0.

in Spalte F2 Hersteller enthalten mit den Namen Agfaphoto, Aiptek oder Jobo: F_2 = 'Agfaphoto' or F_2 = 'Aiptek' or F_2 = 'Jobo'

 

Aus einer Exceldatei sollen die Datensätze importiert werden, die

in der Spalte K einen Wert größer als 10 enthalten:  val (K) > 10

in der Spalte F einen Wert zwischen 3 und 5 enthalten:  val (F) >= 3 and val (F) <=5

 

Formeln

Über das Fenster Formel können die Importwerte zur Übernahme in Ihre Datenbank angepasst werden. Geben Sie hier die entsprechende Formel an.

Beispiele für Formel

zu einer Konstante (10) soll ein Wert aus der Importdatei (Excel, Spaltenname A) angehängt werden (z. B. Debitorenkonto)
'10' + A

analog für ein numerisches Feld (10-stellig = Feldlänge in mention und 0 Dezimalstellen)
'10' + ltrim(str(A,10,0))

ohne Spaltenzuordnung aus der Importdatei soll für die markierte Spalte das Hauptlager übernommen werden: 'Hauptlager'

im gewählten Feld soll das aktuelle Datum beim Ausführen des Imports übernommen werden:
date()

beim Import aus der Textdatei sollen die Werte in der Spalte F_12 wie folgt ersetzt werden: A zu 0, B zu 1 und C zu 2, alle anderen zu 0
iif(F_12 = 'A', 0, iif(F_12 = 'B', 1, iif(F_12 = 'C', 2, 0)))
oder
der Wert aus Spalte F_12 sollt durch 'SON' ersetzt werden, falls dort '0' steht, andernfalls soll der Wert übernommen werden

iif(F _12 = '0', 'SON', F _12 )

analog für Import einer Preisliste aus einer Exceldatei, wobei dort im Feld E für die Verfügbarkeit auf Lager, im Zulauf bzw. nicht verfügbar enthalten ist - zum Ersetzen mit entsprechenden Zeichen (in mention 2-stellig) verwenden Sie folgende Formel (bei Bedarf Kürzel L, Z und - durch eigene ersetzen):
iif(E = 'auf Lager', 'L', iif(E = 'im Zulauf', 'Z', '-'))

die Bedingungen können auch vereinfacht mit ICASE definiert werden, hier soll der Wert aus Spalte G beim Import abhängig von seiner Größe ersetzt werden für Werte kleiner 10 durch 2.00, kleiner 100 durch 1.50, kleiner 1000 durch 1.25 und sonst 1.00 übernommen werden:
ICASE(G < 10, 2.00, G < 100, 1.50, G < 1000, 1.25, 1.00)

die Werte in der Spalte F_2 der Textdatei sollen beim Import so konvertiert werden, dass das Dezimaltrennzeichen '.' als ein FoxPro gültiges Dezimaltrennzeichen ',' übernommen wird (z.B. 1.7100 => 1,71):
val(strtran(F_2, '.', ','))

soll der Wert darüber hinaus mit einem Faktor multipliziert werden, verwenden Sie z.B. für die Übernahme von Bruttopreisen mit einem Steuersatz von 16% anstelle der Nettopreise in der Importdatei:
val(strtran(F_2, '.', ',')) * 1.16

für den Import von Versanddaten kann die Spalte 'Belegtyp' über die folgende Formel übergeben werden, falls in der Importdatei 6-stellige Belegnummern für Werkstatt-Rechnungen und alle anderen Belegnummern für Bestellungen enthalten sind:
iif(len(alltrim(F_9))=6,'M','B') - wenn der Belegtyp in der Quelltabelle nicht vorhanden ist (dann wird bei der Länge 6 für das Feld F_9 'M' = Werkstatt-Rechnung übernommen, andernfalls 'B' = Bestellung)
oder
iif(len(alltrim(F_9))=6,'M',F_10) - wenn der Belegtyp in der Quelltabelle in der Spalte F_10 vorhanden ist
wobei
F_9 - Spalte mit der Belegnummer
F_10 - Spalte mit dem Belegtyp, falls vorhanden

falls in der Importdatei die Belegnummer mit und ohne vorangestelltem Buchstaben B für den Belegtyp (= Bestellung) in der Spalte F_5 enthalten ist, verwenden Sie für das Feld 'Belegnummer' folgende Formel:
iif(upper(substr(F_5,1,1))='B', substr(F_5,2), F_5)
Damit können Sie im Feld 'Belegnummer' die Nummer aus der Importdatei mit abgeschnittenem ersten 'B' (soweit enthalten) übernehmen.

für die in der Importdatei in der Spalte F_10 enthaltene Artikelnummer sollen immer die letzten zwei Zeichen beim Import entfernt werden:
left(ltrim(F_10), len(alltrim(F_10)) - 2)

beim Import soll in das Feld der Wert 200 übergeben werden, wenn in Spalte F die Zeichenfolge TFT enthalten ist (an irgendeiner Stelle, unabhängig von Groß-/Kleinschreibung), andernfalls der Wert 300:
iif(ATC('TFT',B)>0, '200', '300')

der Wert aus Spalte F soll übernommen werden falls nicht leer, andernfalls der Wert aus Spalte C:
iif(!empty(F),F,C)

 

Schaltflächen

Hilfe

ruft die Online-Hilfe auf.

OK

übernimmt den Filter bzw. die Formel zum Feld in das Importschema.

Abbrechen

schließt das Fenster ohne Übernahme der Änderung.