Autor Thema: @setfield und @if  (Gelesen 3192 mal)

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
@setfield und @if
« am: 19.09.05 - 14:36:55 »
Folgende Formel liefert nicht was ich erwarte:

PrA := @DbLookup( "Notes" : "NoCache" ; "" ; "Kostenarten"  ;Art ; 2);
PrS := @DbLookup( "Notes" : "NoCache" ; "" ; "Kostenstellen"  ;Stelle ; 2);
FIELD RgPrüfer := RgPrüfer;
@SetField("RgPrüfer";@If(@IsError(PrA);PrS;PrA));

Was ist falsch?

Danke im Voraus!
« Letzte Änderung: 20.09.05 - 07:56:19 von Syeg »

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #1 am: 19.09.05 - 14:42:58 »
Was liefert denn die Formel und was erwartest du?

Gruß Sascha

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #2 am: 19.09.05 - 14:44:41 »
Welches Verwalten erwartest Du denn?

Persönlich halte ich nichts von Umlauten in Feldnamen.
Gruß
Dirk

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #3 am: 19.09.05 - 14:47:50 »
Entschuldigt die Unklarheiten, aber DIE NERVEN..!

Ich erwarte im Feld RgPrüfer einen der gefundenen Werte PrA oder PrS, und zwar PrS (den zweiten) nur wenn der erst, PrA, nicht vorhanden ist.

Liefern tut das ganze eine 1

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #4 am: 19.09.05 - 14:52:53 »
Hast Du mal die Ansichten geprüft, ob dort die Keys Art und Stelle vorhanden sind und was in Spalte 2 steht?

Was steht in PrS und PrA?
Gruß
Dirk

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #5 am: 19.09.05 - 14:56:06 »
Folgende Formel liefert nicht was ich erwarte:

PrA := @DbLookup( "Notes" : "NoCache" ; "" ; "Kostenarten"  ;Art ; 2);
PrS := @DbLookup( "Notes" : "NoCache" ; "" ; "Kostenstellen"  ;Stelle ; 2);
FIELD RgPrüfer := RgPrüfer;
@SetField("RgPrüfer";@If(@IsError(PrA);PrS;PrA));

Das Ergebnis 1 ist doch schon einmal etwas, zeigt zumindest, dass da ein Wert zurückgeliefert wird. Es wäre zunächst einmal wichtig zu erfahren, ob der Wert nun aus PrA oder PrS zurückgeliefert wird, d.h. ob PrA auf einen Fehler läuft. Was mir nicht so ganz klar ist, warum prüfst du auf Fehler? Die zurückgelieferte 1 sollte eigentlich schon ein richtiger Wert sein. Wenn nämlich PrA ein False zurückliefern würde, bekommst du einen anderen Wert zurück.

Gruß Sascha

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #6 am: 19.09.05 - 15:00:59 »
Also, habe vorher mit @Prompt gesehen, dass ich die richtigen Werte in den beiden oder einer der Variablen (je nach Wert von "Art" und "Stele") erhalte.

Ich hatte noch am Schluss:
@prompt([ok];"Prüfer";">"+RgPrüfer+"<");

Dieses wird aber gar nicht ausgeführt, als würde die Formel vorher "Abstürzen".

Bei fehlenden Werten in den Ansichten erhalte ich:    
FEHLER: Eintrag im Index nicht gefunden, oder der Index ist für die Ansicht nicht aufgebaut

Nun?   

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #7 am: 19.09.05 - 15:06:36 »
Nur so eine Checkliste zum Prüfen.

1.) Sind die Ansichten "Kostenarten" und "Kostenstellen" in der ersten Spalte sortiert?

2.) Welche Werte werden verglichen? Liefern die Felder "Art" und "Stelle" die gleichen Datentypen wie in den sortierten Spalten abgefragt werden?

3.) Ist das Feld RGPrüfer vom gleichen Datentypen, wie die Werte PrA oder PrS?

Gruß Sascha
« Letzte Änderung: 19.09.05 - 15:28:14 von mibo11 »

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #8 am: 19.09.05 - 15:07:42 »
Nachtrag:

Fragt doch mit deinem Prompt vorher noch die Felder "Art" und "Stelle" und danach die Werte "PrA" und "PrS" ab.


Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #9 am: 19.09.05 - 15:16:05 »
1.) Die Ansichten sind sortiert in der ersten Spalte
2.) Es sind Ansichten über die gleichen Dokumente (Maske "Kostenträger", welches die "Art der Trägerschaft(!)" als Merkmal enthält, und welches zu den beiden Ansichten führt).

3.) Prompts liefern das erwartete

ÜbrigenS. natürlich auch einen Gruss und Danke für die bisherigen Mühen,
Esteban

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #10 am: 19.09.05 - 15:22:57 »
3.) Prompts liefern das erwartete

Wenn die Prompts das erwartete liefern, d.h. PrS und PrA die gewünschten Werte, dann liefert

FIELD RgPrüfer := RgPrüfer;
@SetField("RgPrüfer";@If(@IsError(PrA);PrS;PrA));


PrA keinen Fehler, also läuft deine @If Abfrage nicht auf einen Fehler und liefert PrS zurück.

Hast du einen Schreibfehler im Feldnamen RgPrüfer. Gibt es ggf. noch eine Eingabeumsetzungsformel in diesem Feld? Welcher Code wird ggf. noch ausgeführt? Wo läuft die Formel (Schaltfläche, etc.)?

Gruß Sascha

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #11 am: 19.09.05 - 15:36:03 »
Ja, so ist es, oder besser sollte es sein.
Es geht um ein Feld in einer Maske und die Formel habe ich jetzt "beim Anzeigen" und "beim Anlegen" probiert. Auch einfach mit "Berechnet". Aber der Wert ist immer noch einfach 1.

seuffst (Notes kommt von Not?)

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #12 am: 19.09.05 - 15:37:42 »
Nachtrag:

Kein Schreibfehler in Feldnamen.
Keine Eingabeumsetzungsformel.
Kein weiterer Code.

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #13 am: 19.09.05 - 15:42:20 »
Beim Anlegen, (ich nehme an du meinst das Postopen Event) hast du keine Chance, da zu diesem Zeitpunkt deine Schlüsselfelder (Art oder Stelle), die du als Vergleichswert benutzt wahrscheinlich noch nicht gesetzt sein dürften, da ja der Benutzer zunächst die Felder Art, bzw. Stelle  beschreibt und du danach die DBLookup's startest.

Sofern dies immer noch kein Ansatz ist, schreib mir doch einmal kleinlichst auf, wo der Code abläuft, welche Datentypen die Felder haben, ob Sie berechnet sind oder bearbeitet, usw.

Gruß Sascha

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #14 am: 19.09.05 - 16:01:36 »
I.o.
1. Beim Versuch, ein neues Dokument zu erstellen, komme ich auf den Fehler "Feld: RgPrüfer: Eintrag im Index nicht gefunden, oder der Index ist für die ansicht nicht aufgebeut", was logisch ist, de - wie du bemerkt hast - die beiden steuernde Felder Art und Stelle ja leer sind.

2. Daher habe ich bisher mit "Bearbeiten" (Doppelclick) auf vorhandenes Dokument aus vorheriger Version, mit den beiden Feldern Art und Stelle aber noch ohne RgPrüfer.

3. Es geht schlussendlch darum, dass diese Dokumente als Mail oder von einem Agenten erstellt werden und nacher der Agent "Wenn Dokumente eingefügt werden" die nötigen ergänzungen durchführt.

In dieser ersten Phase geht es mir um das Testen, ob meine Idee überhaupt klappt! Und siehe da, sie klappt nicht!

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #15 am: 19.09.05 - 21:17:23 »
Ich bleibe dabei, dein Timing ist das falsche. Zu dem Zeitpunkt wenn du die DBLookups machst, hast du keine Schlüsselwerte (also Art oder/und Stelle sind leer, bzw. haben den falschen Wert).

Du schreibst, dass du über die Prompts die Werte für PrA und PrS ausgelesen hast. Das kann nicht sein, zumindest nicht in der Feldformel, sonst würdest du den Fehler: Feld: RgPrüfer: Eintrag im Index nicht gefunden, oder der Index ist für die ansicht nicht aufgebeut nicht bekommen, da danach nur noch der @SetField kommt, der dir entweder PrS oder PrA zurückliefert.

So ganz blicke ich bei dir auch nicht mehr durch. Zum einen schreibst du, du erhälst den o.g. Fehler, zum anderen bekommst du den Wert 1 zurückgeliefert.

Versuche doch einfach einmal mit einem Button die Formel aufzulösen, indem händisch die Felder Art und Stelle beschreibst und danach den Button klickst.

Gruß Sascha

Offline Syeg

  • Junior Mitglied
  • **
  • Beiträge: 81
  • Geschlecht: Männlich
Re: @setfield und @if
« Antwort #16 am: 20.09.05 - 07:55:38 »
Gut - Danke für den Ratschlag!

Und nochmals Danke, Sascha, für deine Bemühungen.

Gruss, Esteban

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz