Das Notes Forum
Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: schmidti88 am 19.02.09 - 12:09:19
-
Hallo!
Ich habe mal eine Frage:
Große Erfahrungen in Lotus Notes habe ich nicht! Mich ein bisschen eingearbeitet, ein paar Masken erstellt und so Sachen - mehr aber nicht!
Habe allerdings heute den Auftrag bekommen, eine "Geburtstagsdatenbank" anzulegen! Diese Geburtstagsdatenbank soll für mich praktisch zum Üben sein!
Ich frage an Hand der Notes ID den Usernamen ab! Dieser werde ich in der Maske bereits anzeigen lassen!
Lotus soll dann anhand unserer Personaldatenbank ermitteln, in welcher Abteilung der User ist und diesen Wert ausgeben!
Nun habe ich ein Textfeld erstellt, den Textfeld einen Namen gegeben und auf Berechenbar gestellt! Nun dachte ich mir, geb ich den Wert der für die Berechung zuständig ist bei der Formel ein! Allerdings habe ich überhaupt keine Ahnung wie ich nun auf die andere Datenbank zugreifen kann!
Theoretisch müsste es doch so sein: Öffne Datenbank "Personal", suche Max Mustermann, nehme Abteilung!
Wie geht es praktisch? Wäre für jede Hilfe dankbar!
Gruß
-
Schau Dir mal in der Designerhilfe die Einträge zu @DBLookup an.
Wenn Du mehrere Werte auslesen mußt, such auch mal hier im Forum. Jeden Wert einzeln per DBLookup auszulesen drückt die Performance und man kommt auch mit einem DBLookup aus, wenn man weiß wie.
Das Prozedere setzt übrigens voraus, daß jeder Benutzer, der so ein Dokument dann erstellt, auch Zugriff auf die Personaldatenbank hat.
-
Hallo!
Danke für die Info!
Mein aktueller Stand:
@DbLookup("";"Servername":"HR\Personaldatenbank.nsf";"Alle Mitarbeiter"; @Right(Name;" ");"Abteilung")
Beim Testen bekomme ich den Fehler Feld Abteilung wurde nicht gefunden!
Was mache ich falsch?
-
....gesucht, die diesen Wert in der ersten sortierten Spalte innerhalb der Ansicht enthalten.
Ist die Spalte sortiert ? Meistens scheitert es daran.
-
Ja die Spalte ist sortiert!
-
Und das Feld heißt auch tatsächlich "Abteilung" ? Oder ist das nur die Bezeichnung und das Feld hat intern einen anderen Namen ?
Schau im Zweifelsfall in den Eigenschaften des Dokumentes mal die Felder durch (Eigenschaftenfenster des Dokumentes, 2. Tab mit dem "Geodreieck").
-
Das Feld heißt Abteilung, genau wie die Spalte in der Personaldatenbank!
-
Hat zumindest meine "Chefin" gesagt!
Ich habe mit dem Designer keinen Zugriff auf die Personaldatenbank, ich kann sie nur in Notes direkt sehen!
-
Also: Eigenschaften des Docs aufmachen usw ... siehe Beitrag von Driri.
Vertrauen ist gut, Kontrolle ist besser (auch bei Chefin)... ;D
-
Ja habe ich gemacht, es stimmt alles!
Die Ansicht heißt Alle Mitarbeiter,
das Feld Abteilung, genau wie dei Spalte in der Personaldatenbank!
Da die Fehlermeldung eigentlich ja nur sagt:
Eine Ansicht mit diesem Namen wurde nicht gefunden, kann die Ansicht ja nur falsch sein!
Die Ansicht heißt aber wirklich Alle Mitarbeiter!
Meine Formel lautet:
@DbLookup("";"";"server":"HR\Personaldatenbank.nsf";"AlleMitarbeiter";"Nachname";"2";"")
-
Heißt die Ansicht "AlleMitarbeiter" oder "Alle Mitarbeiter" ?
Also Ansicht öffnen und dann ganz oben auf die Lupe klicken. Dann sollte er zeigen, wie dei Ansicht heißt.
Oder "Strg + Shift" und dann auf "Ansicht/ Gehe zu" , da werden auch alle Ansichtsnamen gezeigt.
-
Die Ansicht heißt Alle Mitarbeiter, steht auch bei Strg + Schift usw.!
-
Heißt die Ansicht "AlleMitarbeiter" oder "Alle Mitarbeiter" ?
Ja wie denn nun ? Mit oder ohne Leerzeichen ?
-
mit dem alias der view arbeiten? :)
-
mit leerzeichen!
die alias ist genauso!
-
Dann stimmt aber der @dblookup nicht.
-
ja stimmt, hatte zu Testzwecken leerzeichen entfernt! ist aber jetzt auch wieder mit leerzeichen!
-
Mal so probieren:
@DbLookup("":"";"server":"HR\Personaldatenbank.nsf";"Alle Mitarbeiter";key;2)
key
Text. Determines which document is actually read in order to retrieve a value. A document's key is the value displayed in the first sorted column within the view. See "Specifying a key."
Gruß
Stefan
-
jetzt kommt die meldung datei nicht vorhanden!
wo genau fragt er eigentlich ab, was er suchen soll?
-
sorry, doppelter Backslash vergessen:
"HR\\Personaldatenbank.nsf"
Stefan
-
jetzt kommt eintrag im index nicht gefunden!
die datei hat er ja schon mal!
-
Das
@DbLookup(...;"AlleMitarbeiter";"Nachname";"2";"")
geht nicht. Sondern so:
@DbLookup(...;"AlleMitarbeiter";Nachname;2)
Denn Nachname ist ja wohl ein Feldwert und kein statischer String. Die Spaltennummer muss eine Zahl sein. Das letzte "" muss weg.
Andreas
-
Danke für die ganzen Nachrichten!
Allerdings kommt nun folgende Meldung bei folgender formel:
@DbLookup("":"";"server":"HR\\Personaldatenbank.nsf";"Alle Mitarbeiter";Nachname;2)
Feld: "Abteilung": Eintrag im index nicht gefunden!
-
Hi Schmidti,
DbLookup geht in eine bestimmte Datenbank, in eine bestimmte Ansicht (-soweit bist du schon-) und sucht in der 1. Spalte einen Eintrag, der mit "key" übereinstimmt (-das fehlt dir noch).
Wird ein Eintrag gefunden, gibt DbLookup zurück, was in der 2. Spalte steht (in deinem Beispiel).
Also:
was steht in der 1. Spalte?
woher hast du deinen key, nach dem DbLookup suchen soll?
Steht bspw. in der 1. Spalte "Müller", muss in deinem Feld 'Nachname' auch "Müller" stehen.
Gruß
Stefan
-
... das ist aber alles schön in der Hilfe beschrieben...
-
... das ist aber alles schön in der Hilfe beschrieben...
ja, aber anscheinend findet Schmidti die Hilfe nicht, und dann kommt eben manchmal mein Samariter-Herz zum Vorschein ;-)
Stefan
-
Ist die Ansicht auch in der ersten Spalte sortiert bzw. kategorisiert? Ohne das funktioniert DBLookup nämlich nicht.
Axel
-
Hallo Forengemeinde!
Montagmorgen und ich bin immer noch mit meinem Problem beschäftigt! vielleicht könntet ihr mir nochmal helfen!
Folgender aktueller Stand:
Habe eine "testdatenbank" genommen, auf die ich vollen zugriff habe!
- Die Datenbank heißt Videothek.nsf
- Die Ansicht lautet: MovieDatenbank\VideoListe
- Der Alias der Ansicht lautet: Videolist
Die Datenbank ist meines wissens sortiert*, die erste Spalte lautet: Erstellt
Werte in dieser Datenbank sind Max Mustermann (privater name geändert)
Name in meiner Geburtstagsdatenbank wird über @Name([CN]; @UserName) abgefragt!
In meiner Datenbank stimmt der Name überein mit dem Namen in der Testdatenbank!
So, meine DBlookup Formel lautet:
@DbLookup("":"";"server":"Entwicklung\\Videothek.nsf";"VideoList";Erstellt;1)
Folgende Fehlermeldung kommt: Feld "Abteilung": Eintrag im Index nicht gefunden
* woran erkenn ich ob sie sortiert ist?
So, das war es erstmal :D Wäre nett, wenn ihr mir nochmal helfen könntet!
Gruß schmidti88
-
Habe eine "testdatenbank" genommen, auf die ich vollen zugriff habe!
- Die Datenbank heißt Videothek.nsf
- Die Ansicht lautet: MovieDatenbank\VideoListe
- Der Alias der Ansicht lautet: Videolist
So, meine DBlookup Formel lautet:
@DbLookup("":"";"server":"Entwicklung\\Videothek.nsf";"VideoList";Erstellt;1)
Folgende Fehlermeldung kommt: Feld "Abteilung": Eintrag im Index nicht gefunden
So, das war es erstmal :D Wäre nett, wenn ihr mir nochmal helfen könntet!
Gruß schmidti88
Die Fehlermeldung passt mal so überhaupt nicht zur DBLookup Formel.
gruß
alex
-
das bedeutet jetzt für mich?
-
Habe eine "testdatenbank" genommen, auf die ich vollen zugriff habe!
- Die Datenbank heißt Videothek.nsf
- Die Ansicht lautet: MovieDatenbank\VideoListe
- Der Alias der Ansicht lautet: Videolist
So, meine DBlookup Formel lautet:
@DbLookup("":"";"server":"Entwicklung\\Videothek.nsf";"VideoList";Erstellt;1)
Folgende Fehlermeldung kommt: Feld "Abteilung": Eintrag im Index nicht gefunden
So, das war es erstmal :D Wäre nett, wenn ihr mir nochmal helfen könntet!
Gruß schmidti88
Die Fehlermeldung passt mal so überhaupt nicht zur DBLookup Formel.
gruß
alex
Das stimmt so nicht. Die Fehlermeldung passt sehr wohl dazu. Zum Beispiel dann wenn der Key nicht in der über den Lookup aufgerufenen View vorhanden ist. Also der Wert des Feldes "Erstellt" nicht in der View die angesprochen wird vorhanden ist.
-
Hallo!
Sry, dass ich mich so doof anstelle!
Die aktuelle Formel stand ja bereits oben!
Wie gesagt, ich habe aktuell 2 Felder (1. Name / 2. Abteilung)!
In dem Feld Name zieht er ja den aktuellen Notes Usernamen!
In dem Feld Abteilung hab ich die dblookup formel eingebaut!
Wenn ich mir die Formel mal genauer angucke, dann frag ich mich, wo holt er sich eigentlich den Wert her?
@DbLookup("":"";"server":"Entwicklung\\Videothek.nsf";"VideoList";Erstellt;1)
Also ich meine: ich habe den server angegeben, den pfad und die datenbank, den ansichtname und die erste spalte! und die 1 steht doch für die erste spalte oder? wäre eig doppelt, hhm!
oder muss wo ich erstellt habe, das Feld name rein!
aber auch dann geht es nicht!
Dann bekomme ich die gleiche Fehlermeldung!
-
sorry mein Fehler, einfach noch zu früh für DBLookup Abfragen :-\
-
@DbLookup("":"";"server":"Entwicklung\\Videothek.nsf";"VideoList";Erstellt;1)
Du suchst also auf "server" in DB "Entwicklung\videothek.nsf" in der Ansicht "VideoList" nach dem Begriff der im Feld "Erstellt" steht. Findet er den Inhalt von "Erstellt" in der ersten sortierten Spalte (das muss nicht zwangsläufig die erste Spalte in der Ansicht sein), soll er den Inhalt aus Spalte 1 zurückgeben.
-
Also muss es Name heißen, funktioniert leider immer noch nicht!
Trotzdem danke!
-
Nein.
Du musst nur schauen:
a) in welchem Feld (Quelldokument) steht der Wert nach dem Du suchst
b) die erste sortierte Spalte der Zielansicht muss nach dem Wert aus a) sortiert sein
c) das was Du aus Zielansicht haben willst, muss in deinem Fall in Spalte 1 stehen