Das Notes Forum

Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: schmidti88 am 19.02.09 - 12:09:19

Titel: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag 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ß
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: Driri am 19.02.09 - 12:13:33
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.
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 13:25:04
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?
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: klaussal am 19.02.09 - 13:30:25
Zitat
....gesucht, die diesen Wert in der ersten sortierten Spalte innerhalb der Ansicht enthalten.

Ist die Spalte sortiert ? Meistens scheitert es daran.
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 13:36:29
Ja die Spalte ist sortiert!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: Driri am 19.02.09 - 13:37:42
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").
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 13:41:12
Das Feld heißt Abteilung, genau wie die Spalte in der Personaldatenbank!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 13:50:58
Hat zumindest meine "Chefin" gesagt!
Ich habe mit dem Designer keinen Zugriff auf die Personaldatenbank, ich kann sie nur in Notes direkt sehen!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: klaussal am 19.02.09 - 14:03:32
Also: Eigenschaften des Docs aufmachen usw ... siehe Beitrag von Driri.

Vertrauen ist gut, Kontrolle ist besser (auch bei Chefin)...  ;D
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 14:31:23
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";"")
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: klaussal am 19.02.09 - 14:37:18
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.
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 14:39:33
Die Ansicht heißt Alle Mitarbeiter, steht auch bei Strg + Schift usw.!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: klaussal am 19.02.09 - 14:47:34
Zitat
Heißt die Ansicht "AlleMitarbeiter" oder "Alle Mitarbeiter" ?

Ja wie denn nun ? Mit oder ohne Leerzeichen ?
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: alexhe am 19.02.09 - 14:50:04
mit dem alias der view arbeiten?  :)
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 14:54:58
mit leerzeichen!
die alias ist genauso!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: klaussal am 19.02.09 - 14:58:55
Dann stimmt aber der @dblookup nicht.
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 15:00:15
ja stimmt, hatte zu Testzwecken leerzeichen entfernt! ist aber jetzt auch wieder mit leerzeichen!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: cebolina am 19.02.09 - 15:12:34
Mal so probieren:

@DbLookup("":"";"server":"HR\Personaldatenbank.nsf";"Alle Mitarbeiter";key;2)

Zitat
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
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 15:15:34
jetzt kommt die meldung datei nicht vorhanden!


wo genau fragt er eigentlich ab, was er suchen soll?
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: cebolina am 19.02.09 - 15:18:20
sorry, doppelter Backslash vergessen:

"HR\\Personaldatenbank.nsf"

Stefan
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 15:21:56
jetzt kommt eintrag im index nicht gefunden!
die datei hat er ja schon mal!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: Glombi am 19.02.09 - 15:28:53
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
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 19.02.09 - 15:37:37
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!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: cebolina am 19.02.09 - 15:43:46
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
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: klaussal am 19.02.09 - 15:46:55
... das ist aber alles schön in der Hilfe beschrieben...
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: cebolina am 19.02.09 - 16:05:50
... 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
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: Axel am 19.02.09 - 18:58:27
Ist die Ansicht auch in der ersten Spalte sortiert bzw. kategorisiert? Ohne das funktioniert DBLookup nämlich nicht.

Axel
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 23.02.09 - 09:01:47
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
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: alexhe am 23.02.09 - 09:11:53
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
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 23.02.09 - 09:18:35
das bedeutet jetzt für mich?
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: Thomas Schulte am 23.02.09 - 09:30:52
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.
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 23.02.09 - 09:38:37
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!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: alexhe am 23.02.09 - 09:55:56
sorry mein Fehler, einfach noch zu früh für DBLookup Abfragen  :-\
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: tks am 23.02.09 - 10:11:58
@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.
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: schmidti88 am 23.02.09 - 10:14:22
Also muss es Name heißen, funktioniert leider immer noch nicht!
Trotzdem danke!
Titel: Re: Werte aus einer bestehenden Datenbank in eine andere Datenbank einbinden
Beitrag von: tks am 23.02.09 - 10:20:10
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