Eine View ist -wie der Name sagt- nur eine Ansicht dessen, was in Dokumenten steht.
Veränderst du das Dokument nicht, wird sich das, was du in der View siehst, natürlich auch nicht ändern.
Herausgesuchten Tabelleninhalt im Querysave neu füllen
- MarcD
- Erledigt
-
-
Wie müsste ich den Code denn ändern. (Bin absoluter Frischling...)
Tausend Dank!
-
schau mal in der Hilfe folgendes an (auch die Beispiele!).
- Notesdatabase.GetView()
- NotesView.GetFirstDocument
- Notesdocument.GetFirstitem
- NotesItem.ValuesGruß
Dirk -
War schon an der Stelle. Werde mich noch einmal reintüfteln ... Danke!
-
Ich denke, es dürfte sich von selbst erklären, dass man ein Frontenddokument zunächst einmal speichert, bevor im Backend etwas sichtbar sein kann, oder?
Und selbst dann stellt sich immer noch die Frage nach der Aktualisierung des Ansichtsindizes. -
Vielleicht sollte erstmal jemand Dir erklären, dass Notes keine relationale Datenbank ist. Man schreibt nicht in "views" und "Tabellen" sind einfach Gestaltungselemente innerhalb von Masken.
So lange Du nicht kapiert hast, dass Notes eine Dokumentenbasierte Datenbank ist, in der man Dokumente verändert, die dann wiederum in Ansichten (=View) angezeigt werden, ist jede weitere Hilfe völlig sinnlos.
Man muss schon das Konzept von Notes- Datenbanken grundlegend verstanden haben, bevor man loslegt was zu programmieren.Du willst keine View ändern, sondern ein Dokument, das in der View angezeigt wird. ein "UIdoc" (oder Source) ist dabei eine Frontend- Repräsentation eines solchen Dokumentes (offen in einem eigenen Fenster)...
Ich fürchte ohne grundlegende Schulung oder zumindest jemanden, der Dir die Grundlagen mal erklärt, wirst Du nicht weit kommen.
-
Das reine Aufzählen funktioniert mit unten angezeigtem Code.
Zu beachten wären noch Prüfungen, unter welchen Bedingungen die Nummer vergeben werden soll ...Vielen Dank für eure Hilfe!
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim view As NotesView
Dim item As NotesItem
Dim bez$
Dim nummer$
Set db = session.CurrentDatabase
Set view = db.GetView( "de.xxxxxxx.view.nummernkreise" )
Set doc = view.GetFirstDocument
globalbez$ = session.GetEnvironmentString( "globalbez$")
Do Until doc Is Nothing
bez$ = doc.columnvalues(0)
If bez$ = globalbez$ Then
nummer$ = Cstr( Clng(doc.columnvalues(1)) + 1)
Set item = doc.ReplaceItemValue( "AktuelleNummer", nummer$ )
Call doc.Save( True, True )
Exit Do
End If
Set doc = view.GetNextDocument(doc)
Loop
End Sub