Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LUSBernd am 22.08.07 - 12:03:59
-
Hallo Forum,
ich habe schon wieder so ein Schmankerl.
ist es möglich, in einer Ansicht einen Feldwert aus einer anderen DB auszulesen und anzeigen zu lassen. Wie ich das in eine Maske einbaue habe ich schon fast geschafft. Stichwort: Postopen ;D
Ich habe zwar auch schoon ein bischen im Postopen der Ansicht experimentiert, allerdings tu ich mich schwer dort auf ein bestimmtes Feld/Spalte zu füllen.
Hier mal mein bishereiger Fortschritt in der Maske, mit dem Hinweis, dass der noch nicht fertig ist und noch nicht 100% funzt:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim renr As String
Dim column As NotesViewColumn
Dim item As String
Set db = session.getdatabase("", "jacobi/Gutschriften.nsf")
Set view = db.GetView("test")
renr = source.FieldGetText("akrenr")
Set doc = view.GetDocumentByKey( renr )
Set column = view.columns(7) <-- hier hakts es noch ein wenig
item = column.IsField
Call source.FieldSetText("gutnu", item)
-
Das ist nicht möglich - Ansichten können nur Werte aus Dokumenten der gleichen DB darstellen.
Bernhard
-
Ok, habe ich mir schon fast gedacht.
Ich könnte aber doch in der anderen datenbank einen Agenten beauftragen, der mir bestimmte felder in der benötigten DB füllt, oder nicht????
-
Das wäre das übliche Vorgehen.
Bernhard
-
Hallo noch einmal,
ich habe jetzt ein etwas merkwürdiges Problem.
In meiner Zieldatenbank habe ich ein Feld angelegt, welches ich füllen möchte.
Wenn ich die Datenbank in irgendeiner Ansicht öffne und mir mit dem rechtem Mausclick die Eigenschaften der enthaltenen Dokumente anschaue finde ich das neue Feld nicht. Öffne ich dann das Dokument sehe ich das Feld.
Schließe ich nun die Datenbank und öffne Sie wieder kommt die Meldung:
"Invalid key value type"
Die Suche in den Foren war hierzu leider nicht sonderlich ergiebig.
Philipp
-
Ist das Feld vom Typ "Berechnet zur Anzeige" ?
Axel
-
Nein, nur berechnet!
Hatte aber auch schon bearbeitbar (versehentlich!).
Philipp
-
Also ich habe jetzt alle drei Möglichkeiten durch, die mir sinnvoll erscheinen. Leider ohne Erfolg.
:-:
Nun hängen wir hier schon zu zweit :knuddel: über Notes und versuchen dem Kasten diese Feld zu entlocken!!! HeHe
-
Hast Du das berechnete Feld nachträglich eingefügt, also nachdem die Dokumente angelegt wurden ? Wenn ja, hast Du die Dokumente einmal neu berechnet ?
-
aha!
Ja, ich habe das Feld nachträglich eingefügt.
Wie geht denn neu berechnen? ???
Philipp
-
Probiers einfach erstmal mit einem Dokument aus, einfach neu speichern. Dann muß das Feld auch vorhanden sein (außer es ist "Berechnet zur Anzeige").
Wenn Du alle Dokumente neu berechnen bzw. speichern willst, dann bau Dir einen Agent oder erstell Dir ein SmartIcon mit der Formel @Command([ToolsRefreshSelectedDocs]) oder @Command([ToolsRefreshAllDocs]).
Allerdings sind dann alle Dokumente für die User auch ungelesen. Nur als Hinweis, falls die DB schon produktiv genutzt wird.
-
Prima, Danke hat geklappt.
Allerdings ist der Agent schlappe drei Stunden gelaufen!!! Waren aber auch ein paar Dokumente!!
Das mit dem ungelesen ist bei dieser Datenbank nicht so schlimm. ist eine rein informative Datenbank. Die können einfach einmal alle als gelesen markieren > Fertig!
Also noch einmal Vielen Dank für die schnelle Hilfe
-
Ist halt die Frage, wofür das berechnete Feld benötigt wird. Wenn man es z.B. für die Anzeige in Ansichten benutzt, kommt man ums Neuberechnen der Dokumente nicht herum.
-
;) Tja, leider genau dafür war es gedacht. Ist nur furchtbar umständlich gewesen.
Die Hauptsache ist, dass es funktioniert. Und das tut es ja nun endlich.
Philipp