extractx auslesen
Hallo Zusammen,
folgende Hilfe benötigen für die richtige Handhabung:
Aus einem Mehrzeiligen Feld sind immer festen Texte mit zusätzliche Variablen Daten:
Zum Beispie:
Tour: 628
Fahrzeug: HH-HH 0000
Ich möchte gern die Zahl "628" auslesen in einem Berechnungsfeld und in einem annderen zum Beispiel "HH-HH 0000"
Diesen habe ich bis dato diesen Formel drin:
let my := Eingang;
extractx(Eingang, "Tour [0-9]{3}")
Eingang ist die Bezeichnung des Mehrzeiligen Feldes.
Aber Feld erscheint: leer.
Was mache ich falsch
11 Antworten
-
Hallo Frank. Schau mal, ob es so geht. (\n+ nur deshalb, weil beim kopieren Deines Eintrags zwei Zeilenumbrüche enthalten waren, sonst würde \n reichen). Gruß Mirko
für die Zahl:
number(extractx(Eingang, "([0-9]{3})\n+Fahrzeug:\s(.+)", "g", "$1"))
für das Kennzeichen:
extractx(Eingang, "([0-9]{3})\n+Fahrzeug:\s(.+)", "g", "$2")
-
Hallo Frank,
wenn es immer 3 Ziffern sinddann würde ich es so versuchen:
number(extractx(substr(TEXTFELD, index(TEXTFELD, "Tour: ") + length("Tour: ")), "\d{3}"))
bei Fahrzeug:
extractx(substr(TEXTFELD, index(TEXTFELD, "Fahrzeug: ") + length("Fahrzeug: ")), "\w*-\w* \d*")
Leo
-
Wow super Ihr zwei. Wennn sich die Nummer verlängern sollte im bereich Tour - Nummern?
number(extractx(substr(TEXTFELD, index(TEXTFELD, "Tour: ") + length("Tour: ")), "\d{3}"))
-
ich meine wenn es variabel wird zwischen 3 stellen 6 als beispiel
-
In beiden Codebeispielen würde dafür {3,6} funktionieren. Die allgemeine Form ist eine range: {n,m}. Mirko
-
Hallo Leo/Mirko,
sorry ich muss nochmals fragen, irgendwie will das nicht so ganz wie ich will.
Ich habe noch ein Feld mit Kilometer, allerdings diese kann ich nicht definieren exakt mit der Anzahl der Ziffern.
number(extractx(substr(Eingang, index(Eingang, "Kilometer: ") + length("Kilometer: ")), "\d{1-9}")) oder diese
number(extractx(substr(Eingang, index(Eingang, "Kilometer: ") + length("Kilometer: ")), "\d{1,9}"))beides ohne erfolg.
Dann kommt gleich das nächste Problem, dass das Ergebnise ds Berechnungsfeld direkt übertragen möchte in ein Textfeld.
automatisch ist das Berechnunngsfeld
Hat jemand da ein Lösungsansatz?
-
Der Trigger müßte in einem Text-, oder Zahlenfeld stehen. Hilfreich wäre zu wissen, wo gibst Du was ein und wo soll es hin. Sonst ist es viel hineininterpretiert.
'Kilometer autom.' := extractx(Kilometer, "\d+.\d+")
Mal nur so als Hinweis. Wenn Du Zahlenfelder nutzt und ihnen eine Einheit zuweist, dann ersparst Du Dir beim Rechnen diese ganzen Umformungen aus Textfeldern. Bei obigen Code bin ich davon ausgegangen, dass es im Textfeld etwa so steht: "123,45 km" oder ohne dezimal "211 km". Gruß Mirko
-
Guten Morgen Mirko,
oh sorry ich erläutere besser:
Das Feld "Kilometer autom" = ist ein Berechnungsfeld => dort ist folgende funktion drin:
number(extractx(substr(Eingang, index(Eingang, "Kilometer: ") + length("Kilometer: ")), "\d+.\d+")) => Er sollte in dem atuellen Beispiel "4599" auslesen, er ließt aber "11" aus.
Das Feld "Kilometer" ist ein Zahlenfeld mit dem Trigger "'Kilometer autom.' = Kilometer"
Zunächst sollte das Feld "Kilometer autom" die Daten von Eingang raus ziehen und dann sollte das Feld "Kilometer" die Daten aus dem Feld "Kilometer autom" ziehen. So habe ich mir das vorgestellt.
-
Hi Frank. "Eingang" = mehrzeiliges Textfeld, "Kilometer"=Zahlenfeld, "Kilometer autom" = Berechnungsfeld?
Zum Prinzip. Einem Berechnungsfeld kannst du über Trigger keine Werte zuweisen, es rechnet halt nur und kann aber Werte aus anderen Feldern übernehmen. Du brauchst also im Berechnungsfeld nur "Kilometer" (ohne Anführungszeichen) eingeben. Oder ich bin immer noch nicht auf Sendung;-), aber das wird schon. Gruß Mirko
-
Hey Mirko ,
Zustellung dauert nook etwas
Eingang" = mehrzeiliges Textfeld. Richtig "Kilometer"=Zahlenfeld . Richtig
"Kilometer autom" = Berechnungsfeld richtig
Der trigger ist Kilometer im zahlenfeld drin
Der trigger soll mir die Zahlen von dem zahlenfeld auslesen aber davor muss ich eke richtige Zahl im Berechnungsfeld bekommen und in dem Berechnungsfeld ist Momentan dieser Funktion drin number(extractx(substr(Eingang, index(Eingang, "Kilometer: ") + length("Kilometer: ")), "\d+.\d+"))
Allerdings spuckt er mir nicht die Richtige Zahl aus
Gruß frank
-
Sorge dafür, dass im Zahlenfeld "Kilometer" ein Wert steht, lösche dann mal das Script in dem Berechnungsfeld und schreibe mal nur "Kilometer" (ohne Anführungszeichen) hinein! Wie ist das Ergebnis?
Das Script bezieht sich auf das Feld "Eingang", dort stehen aber keine Kilometerangaben drin (oder doch?), deshalb zeigt es Dir falsche Werte an.
Content aside
- vor 2 JahrenZuletzt aktiv
- 11Antworten
- 326Ansichten