Im Feldeditor können - wie im Druckdesigner , - Operatoren und Funktionen genutzt werden.
Note | ||||||
---|---|---|---|---|---|---|
| ||||||
Diese Funktionen werden je nach Verwendungszweck (Exportfilter, Bedingungen in Regeln) mit einem $-Zeichen an erster Stelle eingegeben. Sofern eine Funktion verwendet wird, die parametrisiert werden kann, muss dies in der Regelbedingung anders als in einer Regelanweisung eingegeben werden. Beispielsweise kann die Funktion "GetAktDate()" z. B. folgende Parameter enthalten:"Time" oder auch "Server, Time".
|
Inhalt
Table of Contents |
---|
Folgende Operatoren können verwendet werden:
...
1.
...
Vergleichs-Operatoren:
- and:
...
- ( a ) and ( b )
...
- a und b müssen Wahr sein
...
- ( «SollBetLW1» = «HabenBetLW1» ) and ( «SollBetLW2» = «HabenBetLW2» )
...
- or:
...
- ( a ) or ( b )
...
- a oder b muss Wahr sein
...
- ( «SollBetLW1» = «HabenBetLW1» ) or ( «SollBetLW2» = «HabenBetLW2» )
...
- <>
...
- :
...
- (
...
- a ) <> (
...
- b )
- Wenn a sich von
- b )
...
- b unterscheidet ist das Ergebnis
...
- Wahr
...
- «AdrNr» <> '10000'
...
2.
...
Verneinungs-Operator (Negation):
- not:
...
- not ( a
...
- )
- a muss FALSCH sein
- )
...
- , um als Ergebnis Wahr zu
...
- erhalten
- not ( «SollBetLW1» = «HabenBetLW1» )
...
...
- SollBetLW1 und HabenBetLW1 müssen sich unterscheiden
...
- , um als Ergebnis Wahr zu
...
- erhalten
3.
...
Mengen-Operator:
...
- in:
...
- ( a in ( b ) )
- ( Wert in (
...
- Werte-Menge ) )
...
- Wenn a (Wert) in b (Werte-Menge) vorliegt ist das Ergebnis Wahr
...
- «AdrNr» in ('10000', '10001')
...
- Dies ist eine absolute Definition.
- Es werden nur durch Komma
...
- Werte gefunden (durch Komma separierte Werte müssen nach jedem Komma ein Leerzeichen besitzen, damit diese ausgewertet werden können).
- Ein Bereich kann nicht mit dem Operator "in"
...
- abgefragt werden.
...
...
Tip title
...
Tipp: Wollen Sie einen "von - bis" Bereich
...
, so können Sie folgende Bedingung definieren:
Pos('100',«AdrNr»)
...
>0
Ein mit dieser Formel definierter Filter zeigt alle Adressen an, die '100' enthalten. (
...
Vgl. Sie auch mit der Beschreibung der Funktion Pos() weiter unten
...
).
Folgende Funktionen können in den Filter- bzw. in den Regelbedingungen genutzt werden:
Text / String-Funktionen:
- ToString([Wert]) oder bei Filter auch mal ToText([Wert]) möglich
- Wandelt den Wert in einen String um
...
- Left([
...
- String],[Anzahl der Zeichen])
...
- Left(a,n)
- Die ersten n Zeichen von dem String a werden zurückgegeben
- Left(a,n)
...
- Left('TEST',2)
...
- Die ersten 2 Zeichen
...
- von dem String: "TEST" werden zurückgegeben. Ergebnis: "TE"
- Left(«AdrNr»,3) = '100'
...
- Die ersten 3 Zeichen von der String-Variable: "AdrNr (Adressnummer)" werden mit dem Wert: "100" verglichen. Das Ergebnis ist positiv, sofern die AdrNr (Adressnummer) mit einer 100 beginnt.
- Right([
...
- String],[
...
- Anzahl der Zeichen])
- Right(a,n)
- n Zeichen von rechts von dem String a werden zurückgegeben
- Right('TEST',2)
- Die letzten 2 Zeichen von dem String: "TEST" werden zurückgegeben. Ergebnis: "ST"
- Right(«AdrNr»,3) = '100'
- Die letzten 3 Zeichen von der String-Variable: "AdrNr (Adressnummer)" werden mit dem Wert: "100" verglichen. Das Ergebnis ist positiv, sofern die AdrNr (Adressnummer) mit einer 100 endet.
- Right(a,n)
...
Kürzt Text von Rechts auf x Zeichen
...
- Mid([String],[Start-Position],[Anzahl
...
- der Zeichen])
- Mid(a,n1,n2)
- Ab der Position n1 werden n Zeichen von dem String a zurückgegeben
- Mid("TEST",2,2)
- Ab der Position 2 werden 2 Zeichen von dem String "TEST" zurückgegeben. Ergebnis: "ES"
- Mid(«AdrNr», 3, 3) = '100'
- Ab der Position 3 werden 3 Zeichen von der String-Variable: "AdrNr (Adressnummer)" mit dem Wert: "100" verglichen
Beachten Sie, dass nach dem Komma jeweils ein Leerzeichen angegeben wird, ansonsten kann die Formel nicht ausgewertet werden
- Beispiel mit oben genannter Formel: Das Ergebnis ist dann positiv, sofern die AdrNr (Adressnummer) z. B. "10100" ist, da ab Position 3 die Bedingung für 3 Zeichen wahr ist.
- Mid(a,n1,n2)
- Pos([Such-String],[String])
- Gibt die Position von dem gesuchten String innerhalb eines Strings zurück.
- Pos("c","abc")
Sucht "c" innerhalb von "abc" und gibt die Position zurück. Das Ergebnis ist: "3"
Note title Beachten Sie: Eine Pos-Funktion in einem E-Mail-Layout gibt immer den Rückgabewert "Leer" zurück, sofern der gesuchte Text nicht enthalten ist.
Sofern man eine Pos-Funktion in einer Cond - / If Bedingung verwendet, muss man einen Vorgabewert / Vergleichswert mit übergeben (als 3. Angabe). Dieser Vorgabewert wird dann zurückgegeben, sofern der gesuchte Text nicht verfügbar ist.
Beispiele:
- Allgemein:
- $Cond($Pos([Suchwort],[Feld],0)<>0,JA,NEIN)
- Vorgangsart: Angebot - Layout: Angebots-Mail - Feld: Empfänger-Formel:
- $Cond($Pos("AN",«BelegNr»,0)<>0, true@microtech.de, false@microtech.de)
- Liefert die E-Mailadresse: "true@"
- $Cond($Pos("AG",«BelegNr»,0)<>0, true@microtech.de, false@microtech.de)
- Liefert die E-Mailadresse: "false@"
- $Cond($Pos("AG",«BelegNr»,0)<>0, true@microtech.de)
- Liefert keine E-Mailadresse bzw. würde dann als Empfänger-Mailadresse einfach nichts ("Leer") eintragen.
- $Cond($Pos("AN",«BelegNr»,0)<>0, true@microtech.de, false@microtech.de)
- Allgemein:
- Length([String]):
UI Button color turquoise title XL - Die Zeichenlänge eines Strings werden zurückgeliefert
- Length("Ich bin ein Test!")
- Das Ergebnis liefert den Wert "17" zurück.
GetAktBzr():
Das Benutzerkürzel des aktuellen Benutzers wird zurückgeliefert
Date / Time-Funktionen:
...
In "String" werden ab "Start" "Anzahl" Zeichen zurückgeliefert
Beispiel: Mid(Testen, 2, 3) gibt "est" zurück
Length():
gibt die Zeilenlänge zurück.
Beispiel 1:
Selektion1 enthält: Ich bin ein Test!
Die Funktion "length(Sel1)" liefert den Wert 17 zurück.
Pos(gesuchter Text,Variable):
Sucht den gesuchten Text (Zeichenfolge) in der Variable und gibt 0 aus, falls der Text nicht vorkommt
Folgende Funktionen können genutzt werden:
CalcUmsatz(x):
berechnet den Umsatz der letzten bei x angegebenen Monate
Date:
...
- Date([Wert]) oder ToDate([Wert])
- Wandelt den Wert in ein Datum um
- Date('01.01.80')
- Der Wert "01.01.80" kann mit einem Datumsfeld verglichen
- Date('01.01.80')
...
DateTime:
...
- werden
- Time([Wert]) oder ToTime([Wert])
- Wandelt den Wert in eine Uhrzeit um
- Time('08:30:00')
- Der Wert "08:30:00" kann mit einen Zeitfeld verglichen werden
- DateTime([Wert]) oder ToDateTime([Wert])
- Wandelt den Wert in ein Datum mit Uhrzeit um
- DateTime('01.01.80 08:30:00')
- Der Wert "01.01.80 08:30
- DateTime('01.01.80 08:30:00')
...
- :00" kann mit einen
...
- DatumZeitfeld verglichen werden
- Year([Date oder DateTime])
- Die Jahreszahl wird zurückgeliefert
- Month([Date oder DateTime])
- Der Monat wird zurückgeliefert
- Day([Date oder DateTime])
...
...
- Der Tag innerhalb des Monats
...
DiffDate ([vonDatum],[bisDatum])
...
- wird zurückgeliefert
- Hour([Date oder DateTime])
- Die Stunde wird zurückgeliefert
- Minute([Date oder DateTime])
- Die Minute wird zurückgeliefert
- Second([Date oder DateTime])
- Die Sekunde wird zurückgeliefert
- GetDate()
- Das aktuelle Systemdatum wird zurückgeliefert
- GetAktDate()
- Das aktuelle Programmdatum wird zurückgeliefert
GetAktDate('Time'):
UI Button color turquoise title L Das aktuelle Arbeitsdatum mit Uhrzeit wird zurückgeliefert.
GetAktDate('Server'):
UI Button color turquoise title L - Das aktuelle Serverdatum (Datum des Server-PCs) wird zurückgeliefert.
GetAktDate('Server, Time'):
UI Button color turquoise title L - Das aktuelle Serverdatum mit Uhrzeit (Datum des Server-PCs) wird zurückgeliefert.
- DiffDate([Start-Datum],[End-Datum])
UI Button color turquoise title XL - Ermittelt die Anzahl der Tage zwischen zwei Daten
...
- Als Rückgabewert erhält man eine ganzzahlige Anzahl der Tage
...
- .
...
- DiffDate(1.1.
...
- 2022,2.1.
...
- 2022)
- Das Ergebnis ist: "1"
- DiffDate(1.1.
- 2022)
...
- 2022,1.1.
...
- 2022)
- Das Ergebnis ist: "0"
- DiffDate(2.1.
- 2022)
...
- 2022,1.1.
...
- 2022)
- Das Ergebnis ist: "-1"
- 2022)
- Beispiele:
- DiffDate(«VPo.LiefDat»,GetAktdate()) > 3
- Es soll bei der Erfassung einer Vorgangsposition geprüft werden, ob das Lieferdatum der Position größer als das aktuelle Datum + 3 ist.
...
- DiffDate(
...
- «LiefDat»,
...
- Getaktdate()) >
...
- 2
- 2
Beispiel:
- In einer Vorgangsliste sollen nur Vorgänge ausgegeben werden deren Lieferdatum älter als 2 Tage als das aktuelle Datum sind.
...
DiffDate(«LiefDat»,Getaktdate()) > 2
DBInfo(Name der Datentabelle, Schlüsselwert[e],Zielfeldname):
Die DBInfo-Formel steht Ihnen auch im Feldeditor zur Verfügung. Der inhaltliche Aufbau ist wie im Druckdesign (die Erläuterung des Syntax-Aufbaus kann im FAQ Druckdesign nachgelesen werden). Im Feldeditor werden andere Zeichen gesetzt.
Beispiel: DBInfo('Adressen',AktVog.AdrNr,'SteuNr')
GetAktBzr():
gibt Benutzerkürzel des aktuellen Benutzers zurück
GetAktDate():
gibt das aktuelle Programmdatum zurück
GetAktDate(Time):
gibt das Arbeitsdatum mit Uhrzeit zurück
GetAktDate(Server):
gibt das Serverdatum (Datum des Server-PCs) zurück
GetAktDate(Server, Time):
gibt das Serverdatum mit Uhrzeit zurück
GetDate():
gibt das aktuelle Systemdatum zurück
Hour(Time oder DateTime):
gibt die Stunde zurück
Minute(Time oder DateTime):
gibt die Minuten zurück
Month(Date oder DateTime):
gibt den Monat zurück
Second(Time oder DateTime):
gibt die Sekunden zurück
Time:
Mit Time('08:00:30') kann mit einen Zeitfeld verglichen werden
ToBool(Wert):
wandelt in Boolean (Ja/Nein) um
ToDate(Wert) oder Date(Wert):
wandelt in Datum um
ToDateTime(Wert):
wandelt in Datums-/ Zeitangabe um
ToFloat(Wert):
wandelt in Fließkommazahl um
ToInt(Wert):
wandelt in Ganzzahl um
ToString(Wert):
wandelt in Text um
ToTexT(Wert):
wandelt in Text (Bezeichnung) um
ToTime(Wert) oder Time(Wert):
wandelt in Zeitangabe um
Year(Date oder DateTime):
Boolean (Kennzeichen)-Funktion:
- ToBool([Wert])
- Wandelt den Wert in ein Boolean (Ja/Nein) um
Integer / Float (Zahlen / Fließkommazahl)-Funktionen:
- ToInt([Wert])
- Wandelt den Wert in eine Ganzzahl um
- ToFloat([Wert])
- Wandelt den Wert in eine Fließkommazahl um
Sonder-Funktion:
- CalcUmsatz([Anzahl der letzten Monate])
- Berechnet den Umsatz der letzten angegebenen Monate
DBInfo-Funktion:
- DBInfo('Name der Datentabelle', Schlüsselwert[e],'Zielfeldname')
- Findet in der Datentabelle "Name der Datentabelle" den Datensatz mit dem entsprechenden "Schlüsselwert"und gibt den Inhalt des Feldes "Zielfeldname" zurück.
- Mit Hilfe der DBInfo-Formeln kann ein Wert aus einer Datentabelle unter Verwendung eines Primärindex abgefragt werden.
- Erläuterung zum Aufbau:
- Name der Datentabelle
- Name der Tabelle, aus der ein Wert abgefragt werden soll.
- Schlüsselwert[e]
- Kann beliebigen Typs sein. Sollte jedoch zum 1. Feld des Primärindex der abzufragenden Tabelle passen.
- Zielfeldname
- Optionaler Name des Feldes, dessen Wert zurück geliefert werden soll. Falls dieser Parameter ausgelassen wird, wird dieselbe Zeichenfolge zurückgegeben mit der der Datensatz z. B. beim Löschen bezeichnet wird.
- Name der Datentabelle
- Erläuterung zum Aufbau:
- Die DBInfo-Formel steht Ihnen auch im Feldeditor zur Verfügung. Der inhaltliche Aufbau ist wie im DBInfo-Formeln für Bereichsfilter und Ausgabefilter.
- Beispiel:
- DBInfo('Adressen',«AktVog.AdrNr»,'SteuNr')
- Dadurch wird z.B. in einer Vorgangsliste das Feld Steuernummer der Adresse abgefragt.
- DBInfo('Adressen',«AktVog.AdrNr»,'SteuNr')
...
Weitere Themen
...
Children Display |
---|