Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Wert Auslesen von Links mit ZDouble

Begonnen von SG05, August 09, 2017, 19:32:46

⏪ vorheriges - nächstes ⏩

SG05

Hallo zusammen,

in einer Abfrage verwende ich:

ZDouble(Links([Abmessung];InStr([Abmessung];"X")-1))

um einen Wert bis zum ersten Zeichen von Links "x" auszulesen.

Klapp sehr gut.
Nun kann es vorkommen, dass kein "x" oder keine Zahlen im Feld vorhanden sind.

1,0x1000x1000 (ist ok)
1,0-1,2x1000x1000 (führt zum #Fehler)
keine Abmessung (führt auch zum #Fehler)

Dieser Eintrag in der Abfrage führt zu einen Abbruch bei der weiteren Verwendung in einem Formular.

Wie kann ich die Abfrage anpassen, dass nicht "#Fehler" in dem Feld steht.

Danke für Eure Hilfe

el_gomero

Hallo,

statt mit solchen Verrenkungen zu arbeiten wäre ein atomarer Aufbau der Tabellen anzustreben. Da bleiben Fehler dieser Art dann aus.

Also einmalig die Werte trennen und freuen, dass es künftig unkompliziert läuft.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

SG05

Sorry, dass ich nicht alle Infos gegeben haben.

Du hast recht, aber die Daten kommen aus einem anderen System (AS400) und ich habe auf dieses alphanumerische Feld keinen Einfluss.

Habt Ihr einen Tipp, wie ich diese "Verrenkung" doch noch lösen kann?

el_gomero

Zitat
Du hast recht, aber die Daten kommen aus einem anderen System (AS400) und ich habe auf dieses alphanumerische Feld keinen Einfluss.

Die Daten musst du natürlich so entgegen nehmen, wie sie kommen. Was du dann damit machst (ab dem Import) liegt aber in deiner Hand. So könnte zB ein Schritt nach dem Import sein, die Werte in sinnvolle Felder abzulegen und dann damit weiter zu agieren. Die Trennung würde dann nur einmal erfolgen und nicht jeder Abfrage, etc erneut.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

SG05

Es ist kein Import der Daten, sondern es wird über ODBC "Live" auf die Daten der AS400 zugegriffen.

Ich kann dann "nur" noch mit einer Hilfstabelle arbeiten (Import). Wollte das aber vermeiden.

el_gomero

Bei einem Livezugriff könnte eine Funktion helfen. Ob das besser als ein Import hilft, musst du nach Sachlage entscheiden.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Lachtaube

Solche Ausrücke tendieren leider dazu, lang auszufallen.
Wenn( IstNumerisch( Links( [Abmessung];
                    InStr( Nz( [Abmessung] ); "X" ) - 1 ) );
      ZDouble( Links( [Abmessung];
                      InStr( [Abmessung]; "X" ) - 1 ) ) )
Grüße von der (⌒▽⌒)