Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LDCOE am 10.10.06 - 12:27:20

Titel: @Dblookup Anfängerfrage
Beitrag von: LDCOE am 10.10.06 - 12:27:20
Hallo,
ich ärgere mich schon den ganzen Morgen mit der @dblookup Funktion herum.
Hintergrund ist eine Maske um Urlaubsanträge zu erstellen.
Es gibt unter anderem zwei Felder um Ersteller (Name_1 , Typ Autor, Berechnet beim anlegen, @Name([CN];@UserName)) und damit verbunden die Personalnummer ( persnr, Typ. zahl, Berechnet) abgefragt wird. Bis jetzt hatte ich dies über eine @if Funktion geregelt.
Weil die Zahl der Benutzer ansteigt, wollte ich die Daten der User über eine andere Maske speichern und mit @dblookup abfragen.
Jetzt hab ich folgendes erstellt:

@DbLookup("":"NoCache";"":"UAneu.nsf";"Persnr";@Right(Name_1;"");2)
UAneu ist die Db, Persnr die Ansicht in der die Daten angezeigt werden und in der 2. Spalte stehen die Pers.nummern. (siehe Bild)
Die Ansicht ist in der ersten Spalte sortiert, und der Pfad stimmt auch.
Jetzt scheint es ein Prob mit dem Index zu geben....
Hoffe auf ein paar Tipps, diese Urlaubsdatenbank ist die erste ernsthafte DB, die ich erstellt habe, deshalb kann die Lösung auch sehr simpel sein..... 

LG Jens


Titel: Re: @Dblookup Anfängerfrage
Beitrag von: klaussal am 10.10.06 - 12:31:49
Aus der Hilfe:
Zitat
Schlüssel
Text. Bestimmt, welches Dokument für einen Wert durchsucht wird. Der Schlüssel eines Dokuments ist der Wert, der in der ersten sortierten Spalte innerhalb der Ansicht angezeigt wird. Siehe "Schlüssel angeben".

Die Pers-Nr muss in der 1. Spalte stehen und sortiert sein.
Titel: Re: @Dblookup Anfängerfrage
Beitrag von: Axel am 10.10.06 - 12:32:53
Gibt es den Eintrag, den die Funktion @Right zurückliefert so in der Ansicht? Ich vermute mal nicht.

Versuch mal hier testweise einen Wert, den es in der Ansicht gibt, festeinzutragen und schau was dann passiert.


Axel
 
Titel: Re: @Dblookup Anfängerfrage
Beitrag von: Axel am 10.10.06 - 12:35:39
Aus der Hilfe:
Zitat
Schlüssel
Text. Bestimmt, welches Dokument für einen Wert durchsucht wird. Der Schlüssel eines Dokuments ist der Wert, der in der ersten sortierten Spalte innerhalb der Ansicht angezeigt wird. Siehe "Schlüssel angeben".

Die Pers-Nr muss in der 1. Spalte stehen und sortiert sein.

Es wird nicht nach der Per-Nr gesucht, sondern nach dem Namen. Die Pers-Nr. soll ausgelesen werden.


Axel
Titel: Re: @Dblookup Anfängerfrage
Beitrag von: LDCOE am 10.10.06 - 12:51:23
Hi, vielen Dank für die schnellen Antworten....
was Axel schreibt ist korrekt, es soll die Nummer zum Ersteller gesucht werden.
"Mein Name" hatte ich nur als Platzhalter genommen um nicht echte Namen zu veröffentlichen. Ich habe jetzt mal meinen Namen als Sting in die Funktiongesetzt:

@DbLookup("":"NoCache";"":"UAneu.nsf";"Persnr";"A+++nn";2)

Jetzt wird die richtige Nummer angezeigt.....

War die @right Funktion denn so nicht korrekt?

LG jens.
Titel: Re: @Dblookup Anfängerfrage
Beitrag von: Axel am 10.10.06 - 12:57:41
War die @right Funktion denn so nicht korrekt?

Genau. @Right liefert alle Zeichen ab der angegebenen Suchzeichenfolge zurück. Du hast als Suchzeichenfolge einen leeren String angegeben und wenn der nicht existiert kann @Right auch nichts zurückliefern.

Was willst du denn mit dem @right überhaupt bezwecken?


Axel

Titel: Re: @Dblookup Anfängerfrage
Beitrag von: LDCOE am 10.10.06 - 13:06:40
Hallo.
Ich wollte das der mit "@userName" erstellte Name direkt gesucht wird. So ähnlich wie in den Beispiel "Beispiele: @DbLookup (Datenquelle: Domino)" in der Hilfe.

Kann der Fehler darin liegen,  dass die Ansicht nicht über das "Name_1" Feld in der UA Maske sondern über eine "Benutzer" Maske beliefert wird?
Die Stings der Namen sind aber gleich. Also Vorname Nachname.

Ich glaub hier liegt der Fehler: Ich hatte "" anstatt " " eingefügt.

2.   Dieses Beispiel gibt "Jacobsohn" zurück. Die zurückgegebene Zeichenfolge besteht aus allen Zeichen, die sich rechts vom ersten Leerzeichen in der Eingabezeichenfolge befinden.
@Right("Friedrich Jacobsohn";" ")



Schönen Gruss Jens



 

 

 
Titel: Re: @Dblookup Anfängerfrage
Beitrag von: Axel am 10.10.06 - 13:13:38
Kann der Fehler darin liegen,  dass die Ansicht nicht über das "Name_1" Feld in der UA Maske sondern über eine "Benutzer" Maske beliefert wird?
Die Stings der Namen sind aber gleich. Also Vorname Nachname.

Nein.

Ich glaub hier liegt der Fehler: Ich hatte "" anstatt " " eingefügt.

Genau.


Axel
Titel: Re: @Dblookup Anfängerfrage
Beitrag von: LDCOE am 10.10.06 - 15:00:31
So, jetzt läuft es.  ;D


@DbLookup("":"NoCache";"":"UAneu.nsf";"Persnr";@Right(Name_1;" ");2)

ist richtig.

Dank an Axel und klauss.