Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: MTJ am 06.01.04 - 12:32:00
-
Ich habe ein Problem, an dem ich verzweifele. Hab schon danach gesucht, aber nichts gefunden. Also:
Ich habe eine Ansicht Stammdaten in denen die Felder Personalnummer (Zahl), Kostenstelle (Zahl), Vorname (Text) und Nachname (Text) in dieser Reihenfolge gelistet sind.
In einer anderen Maske habe ich ein Kombinationsfeld eingerichtet, in dem ich die einzelnen Personalnummern auswählen kann. Nun möchte ich gern in jeweils einzelnen anderen Feldern automatisch die Namen zu der ausgewählten Personalnummer generieren. Hab es auch schon folgendermaßen versucht:
FIELD Vorname:="Vorname";
@SetField("Vorname"; @DbLookup("":"NoCache";"";"Stammdaten";"Personalnummer";3))
Klappt aber leider nicht. Der entsprechende Eintrag wird nicht gefunden und es gibt eine Fehlermeldung.
Kann mir da bitte jemand helfen, oder habt ihr ne Idee, wie ich das anders machen kann?
-
"Es gibt eine Fehlermeldung" ist ein wirklich super-Ansatz für die Fehlersuche ....... wie wäre es, wenn man den Wortlaut der Meldung bekäme ???
Vermutlich ist es aber einfach: lasse die Anführungszeichen von Personalnummer weg. Du willst ja den Inhalt des Feldes, nicht den Feldnamen selber suchen.
-
Hi,
an zwei Stellen sind die Anführungszeichen zuviel.
Probier's mal so:
FIELD Vorname:=Vorname;
@SetField("Vorname"; @DbLookup("":"NoCache";"";"Stammdaten";Personalnummer;3))
Axel
-
Habe das Feld Vorname vom Typ Text und Berechnet angelegt. Dann gab ich deine Formel bei Objekte - Vorname(Feld) - Wert ein. Dann gibt Notes nach speichern und aufrufen folgende Fehlermeldung:
Feld: 'Vorname': Eintrag im Index nicht gefunden, oder der Index ist für die Ansicht nicht aufgebaut
-
Hab mal versucht, anstatt "Personalnummer" eine bestimmte Personalnummer (z.B. 102) einzugeben und siehe da, das funktioniert. Der Fehler liegt also in dem Kombinationsfeld. Dort musste ich @Text voranstellen, damit Notes die Auswahl generiert. Nun habe ich schon versucht, alles auf Text umzustellen und gar keine Nummern mehr benutze. So kann ich zwar mit dem Kombinationsfeld ohne @Text arbeiten, jedoch zeigt er mir den gleichen Fehler an. Kann das eventuell daran liegen, das am Anfang nichts in dem Kombinationsfeld steht und er deshalb nichts finden kann?? Wenn ich eine bestimmte Nummer vorgebe, dann findet er ja etwas!
-
Klar, wenn das Kombinationsfeld standardmäßig leer ist, dann muß der Fehler ja kommen.
Am besten erweiterst Du die Formel einfach, so daß Du das Kombinationsfeld auf Leer prüfst und in dem Fall die Felder einfach mit "" berechnest.
-
Genau so funktioniert es!
Hab's mit der @if geprüft.
Danke!
-
Hi,
wenn es funktioniert, dann setz bitte den Thread auf erledigt.
Danke.
Axel
-
Hallo Zusammen!
Ich hab auch aktuell was ähnliches, allerdings erscheint bei mir die Meldung bzw als Eintrag im berechneten Feld folgendes:
FEHLER: SERVERFEHELER: Eintrag im Index nicht gefunden.
Die Formel sieht so aus:
FIELD hersteller:="hersteller";
@if(modell = "";"";
@SetField("hersteller"; @DbLookup("":"NoCache";"";"Druckermodell";modell;1)))
Vielleicht weiss jemand von euch wieso?
SG
Daniel
-
Ist die 1. Spalte der View sortiert?
-
ja, ich hab sie auch Kategorisiert.
-
Die Formel
@DbLookup("":"NoCache";"";"Druckermodell";modell;1)
macht so keinen Sinn, denn es würde ja der Key = modell zurückgeliefert!
Der Hersteller steht ja wohl in einer anderen Spalte.
Also
1. Spalte = Modell (sortiert)
2. Spalte = Hersteller
und dann so:
@DbLookup("":"NoCache";"";"Druckermodell";modell;2)
Andreas
-
Ach ja, danke für die Hilfe, jetzt ists klar. Es wird automatisch die 1. Spalte als "Index" hergenommen!
Danke Glombi!
SG
Daniel
-
Ja, genau genommen wird die erste sortierte Spalte als Index genommen. Um Verwirrungen und unnötigen Zeitverlust bei Fehlersuche zu vermeiden, sollte aber immer die erste Spalte der Index sein.
Ausserdem empfehle ich, grundsätzlich zwischen Benutzer- und Systemansichten zu unterscheiden. Letztere werden in Klammern gesetzt und mit einem Alias versehen. Diese werden dann für @DbLookup und dergleichen verwendet. Die Reihenfolge bzw. der Index wird im nachhinein nicht mehr geändert.
Andreas