Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: shawn am 17.09.07 - 13:42:20

Titel: Daten aus anderer Datenbank holen
Beitrag von: shawn am 17.09.07 - 13:42:20
Hallo,

momentan stehe ich vor folgendem Problem: Ich habe eine Datenbank mit Elementen darin, wobei in einem Feld ein eindeutiger schlüssel steht (zB MU3284W),  nun gibt es in einer anderen Datenbank auch ein Element mit selbigem Schlüssel, von dem ich ein Rich Text Feld in die andere Datenbank kopieren möchte. (am besten per Knopfdruck).. Dabei sind die Anzahl der Elemente beliebig. (sprich: wenn nur 5 zutreffende elemente in DB1 sind, dann sollen auch nur die entsprechenden 5 kopiert werden)...

Da müsste wohl ein kleines Script geschrieben wären - ich wäre sehr dankbar über tipps wo ich darüber recherchieren soll und wie ich damit am besten anfange

2. Problem dabei ist, dass ich keinen zugriff habe, die Datenbank Nr2 im Domino designer zu öffnen und mir daher die struktur unklar ist. ich habe die datenbank auf der festplatte. kann ich darauf vollzugriff bekommen?


vielen dank schonmal im voraus, freue mich über jede antwort!
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: klaussal am 17.09.07 - 13:50:12
Hallo Unbekannte(r),

wie weit sind inzwischen deine Notes-Kenntnisse gediehen ?

Wenn Du nicht die Grundlagen von Script etc beherrschst, dann wird es wohl am besten sein,  externe Unterstützung zu holen. Oder zu lernen.....  ;D
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: shawn am 17.09.07 - 13:52:48
Hi,

also ich habe schon einfache Datenbanken mit dem Domino designer erstellt, jedoch noch so gut wie gar kein scripting benutzt. Programmieren an sich kann ich - von daher hoffe ich, dass es sich größtenteils auf die syntax beschränkt
Daher läufts wohl auf lernen raus..

ist meine Anforderung was komplizierteres oder eher simpel?
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: m3 am 17.09.07 - 13:53:54
1) Du willst Dir die Klassen bzw. Methoden
    notesView.GetDocumentByKey
    notesDocument.GetItemValue
    notesRichTextItem.AppendRTItem
ansehen.

2) Du benötigst zumindest Reader-Access auf die DB, welche Du auslesen sollst.
Die Auftraggeber sollen Dir entweder die Doku bezgl. der zweiten DB geben oder Dir Designer-Zugriff auf die DB bzw. eine Kopie davon (man entwickelt ja eh nie mit dem Original ;) ) gewähren.

Mit einer lokalen Kopie kannst, musst Du aber nicht Vollzugriff bekommen können. Dein lokaler Admin berät Dich diesbezüglich sicher gerne. Vorzuziehen ist aber die Lösung mit Doku bzw. Zugriff (siehe oben).
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: Thomas Schulte am 17.09.07 - 13:57:42
OK das ist eigentlich alles einfach:

- Schlüssel in Script holen. (uidoc.document.getfirstitem("Feldname") oder uidoc.fieldgettext("Feldname")
- Andere Datenbank öffnen. set opendb = session.getdatabase
- View in anderer Datenbank holen. set view = opendb.getview("Viewname")
- Alle Dokumente mit dem Key aus der View holen. Getcollection = view.getalldocumentsbykey .....
- RTItem erstellen
- Durch die Collection loopen
- alle RTItems die du da brauchst holen und in dein neues RTItem schreiben.
- Speichern.
- UIdoc schließen
- UIdoc wieder öffnen damit das veränderte RTItem angezeigt wird.
Fertig

Und zu 2 hat Martin schon alles gesagt.


Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: m3 am 17.09.07 - 13:57:50
1) Ist eher eine "simple" Anforderung, wenn man weiß, was man tut.

2) Notes-Scriptprogrammierung ist ein wenig mehr als "Syntax". Aber das wirst Du noch merken. :)

2) Weiters, lieber "shawn" (of the dead?) würden wir es begrüßen (http://atnotes.de/projekte/bp/team/tmc/_forumsregeln/rules001.html#22), wenn Du in Deine Signatur zumindest Deinen Vornamen eintragen würdest. Danke.
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: m3 am 17.09.07 - 13:58:47
- UIdoc schließen
- UIdoc wieder öffnen damit das veränderte RTItem angezeigt wird.
Nicht gleich alles verraten. ;) :D
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: shawn am 17.09.07 - 14:11:17
von den toten musste ich gott sei dank bisher nicht auferstehen, aber das mit der signatur lässt sich einrichten  ;)

was das script angeht, werde ich jetzt mal daran versuchen das hinzubekommen ;)

zu den zugriffsrechten: von einem Admin da irgendwelche rechte zu bekommen ist absolut ausgeschlossen. Ich habe ein lokale Kopie der Datenbank, aber kann die rechte daran nicht ändern..
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: Thomas Schulte am 17.09.07 - 14:14:40
Du musst zumindest irgendwo die Struktur der Datenbank herhaben. Sprich ....
Welche View kannst du nutzen, wie heist diese und was ist der Alias wenn es einen gibt?
Wie heißen die zu kopierenden Felder, welchen Typ haben die, sind das wirklich Richtext Felder?
Titel: Re: Daten aus anderer Datenbank holen
Beitrag von: shawn am 19.09.07 - 10:57:05
Danke nochmal für die Hilfe! Ihr habt mir wirklich geholfen!