Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Thunder am 25.11.04 - 09:34:52

Titel: 1.Feldwert aus Ansicht holen
Beitrag von: Thunder am 25.11.04 - 09:34:52
Hallo - brächte mal wieder eure Hilfe,
ich möchte gern aus einer Ansicht heraus das 1.Dokument greifen und einen bestimmten Feldwert in ein neues Dokument übernehmen. Hm - klingt doof.
Also ich erstelle ein neues Dokument mit einer Maske.Jetzt soll automatisch ein Feldwert aus einer Ansicht geholt werden - und zwar immer aus dem obersten in der Ansicht.
Geht so etwas mit Formelsprache oder muss ich da wieder mit Script arbeiten, was ich noch nicht wirklich kann.  :-[

Gruss
Remko
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Axel am 25.11.04 - 09:42:03
Hi,

geht meines Wissens nur mit Script.

Auszug aus der Designer-Hilfe:

Code
Dim db As New NotesDatabase( "Gaborone", "todo.nsf" )
Dim view As NotesView
Dim doc As NotesDocument
Set view = db.GetView( "Open\By Project & Priority" )
Set doc = view.GetFirstDocument

'ab hier kannst du auf die Felder des Dokumentes zugreifen
...

Axel
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: dirk_2909 am 25.11.04 - 10:18:03
@Thunder

Versuch es doch mal so:

_werte := @DBColumn( "" ; "" ; _deineAnsicht ; 1 );
_break := @If( @IsError( _werte ) | _werte := "" ; @Return( "" ) ; _werte ) ;
_erg := @Subset( _werte ; 1 ) ;
Field _deinFeld := _erg ;
...

Dirk
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Axel am 25.11.04 - 10:23:02
@Dirk

Das geht aber nur, wenn der Wert, der aus dem Dokument gebraucht wird, auch in der Ansicht angezeigt wird.


Axel
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Thunder am 25.11.04 - 10:27:54
Hangel mich gerade durch meine Scriptbücher.
Ich habe es zumindest schon geschafft, mit den Wert über die Messagebox anzeigen zu lassen. Jetzt muss ich diesen Wert nur noch in ein Feld schreiben á la @Setfield(..).


Sub Initialize
   Dim s As New notessession
   Dim db As notesdatabase
   Dim view As notesview
   Dim doc As notesdocument
   Set db = s.currentdatabase
   Set view = db.getview ("Wert")
   Set doc = view.getfirstdocument
   Messagebox doc.A_Nummer(0),,"Wert"
   
   
End Sub
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Axel am 25.11.04 - 10:31:20
Hi,

von wo und wie willst du denn das Ganze aufrufen?


Axel
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Thunder am 25.11.04 - 10:33:56
Beim Anlegen eines neuen Dokumentes - also quasi aus einer Maske.
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: dirk_2909 am 25.11.04 - 11:03:47
Wenn der gewünschte Wert in einer Ansicht vorhanden ist, spricht nichts gegen Formelsprache.
Die Berechnung kannst Du dann z.B. als Vorgabewert in dem entsprechenden Feld einsetzen.

Wenn der Wert nicht in einer Ansicht ist, dann LS im PostOpen der Maske

Dirk
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Axel am 25.11.04 - 11:12:53
Hi,

dann kannst du folgenden Code in den PostOpen-Event einfügen

Code
Dim s As New notessession
Dim db As notesdatabase
Dim view As notesview
Dim doc As notesdocument

Set db = s.currentdatabase
Set view = db.getview ("Wert")
Set doc = view.getfirstdocument

Call Source.FieldSetText("Name des Feldes", doc.A_Nummer(0))



"Name des Feldes" ist der Name des Feldes, in dem der Wert aus der Ansicht übernommen werden soll.

Axel
Titel: Re: 1.Feldwert aus Ansicht holen
Beitrag von: Thunder am 25.11.04 - 11:18:18
Habe es jetzt beiden Möglichkeiten ausprobiert und sie funktionieren auch wie gewünscht.

Danke euch beiden