Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: GzAdmin am 31.07.02 - 11:33:33
-
>:(
Hallo zusammen
mein Problem
(Mandanten)
1. Ich habe eine Maske in dem ich Mandanten anlege "@DocID" wird beim anlegen erzeugt. in MandantID mit @Text
Felder = MandantID; MandName; LastMName;
(Personal)
2. Habe ich noch eine Maske in dem ich personal anlegen möchte, ich habe es hinbekommen über eine Dialogbox einer Person einen Mandanten zuzuweisen; die DocID als Schlüsselwort wird im Feld MandantID abgespeichert.
"@DocID" wird beim anlegen erzeugt. in MandantID mit @Text
Felder = MandantID; (Keinen MandName); FirstName; LastName;
Nun möchte ich eine ansicht nur mit den Mandanten habe die auch Personal haben, Kategoriesiert nach mandanten:
so siehts aus
>Mandant 1
>Mandant 2
>(Nicht K.....)
Persona 1
Personal 2
Wenn ich aber auf das Feld in der Ansicht MandantID Kategoriesiere
passt alles wunderba
dan sieht das so aus
>45237652356fgsdgfsd
Personal 1
>876578345urzte7836
Personal 2
# Das Problem
Ich möchte an stelle der DocID den namen Des Mandanten haben der in einer anderen ansicht steht
der duch die Maske (Mandant) erzeugt wurde
aber in der Maske (Personal) nur die DocID zu diesem Mandante (angelgt/Verlink ...wie auch immer ) hat.
Ich bin jetzt seit 6 Wochen mit Notes zugange und habe nichts gefunden wie man ansichten untereinander abfragt (Alter Sql Dummy)
-
Hi,
nicht suchen,... die Felder, die Du anzeigen möchtest in das Dokument mitspeichern und eine Updateroutine schreiben, für den Fall das sich die Daten ändern.
-
Kanns du mir dabei helfen von Lotusscript habe ich keine Ahnung und ich weiss auch nicht wie ich da anfangen soll
-
Hi,
ging nicht schneller. Versuchs mal mit dieser Routine, Du brauchst aber eine versteckte Ansicht, die die Schlusselfelder sortiert in der ersten Spalte stehen hat.
Falls noch fragen einfach anmailen, ansionsten sind die Codezeilen beschrieben.
Sub aktualisieren(_
Schluessel, _
FeldListe, _
Datenbank, _
CurDoc, _
FormName _
)
'Modul zum Aktualisieren von
'Fremdschlüsseln in einem Dokument
'Achtung,
'die Ansicht "SchluesselPick"
'sollte in jeder Datenbank vorhanden sein,
'in der gelesen wird.
'Parameter:
'1. Schlüssel für Dokument aus dem aktualisiert wird
'1. Feldliste
'3. Name der Datenbank in der gesucht werden soll
'4. Dokument das gerade bearbeitet wird
Dim Session As New NotesSession
Dim PickView As NotesView
Dim CurDB_ As NotesDatabase
Dim LookDB_ As NotesDatabase
Dim SuchDoc As NotesDocument
Dim Item As NotesItem
Dim LookDBName_ As String
Dim Server_ As String
Dim FilePath_ As String
Dim DataPath_ As String
Dim FeldName As String
Dim Wert As Variant
Dim i As Integer
Dim KeyArray(1) As String
'Geöffenete Datenbank
Set CurDB_ = Session.CurrentDatabase
'Server
Server_ = CurDB_.SERVER
'Name Data Pfad festlegen
i = Instr( CurDB_.Filepath, CurDB_.Filename) - 1
FilePath_ = Ucase(Left( CurDB_.Filepath, i))
i = Instr( FilePath_, "\DATA\") + 5
DataPath_ = Left( FilePath_, i)
'Name Datenbank aus der gelesen wird festlegen
LookDBName_ = Filepath_ + Datenbank
'Datenbank aus der gelesen wird öffnen
Set LookDB_ = New NotesDatabase(Server_, LookDBName_ )
'Ansicht öfnen, aus der gelesen wird
Set PickView = LookDB_.GetView("SchluesselPick")
KeyArray(0) = Schluessel
KeyArray(1) = Formname
'Schlüsel Dokument aus dem Akutalisiert wird suchen
Set SuchDoc = PickView.GetDocumentByKey(KeyArray, True)
'wenn Dokument vorhanden ist
If Not (SuchDoc Is Nothing) Then
'Alle Felder aus Schlüssel Dokument holen und
'und iem geöffneten Dokument aktualisieren.
For i = 0 To Ubound(FeldListe)
'Name des Feldes aus der Liste an Position i holen
FeldName = FeldListe(i)
'Wert aus Schlüssel Dokument holen
Wert = SuchDoc.GetItemValue(Feldname)
'Wert in Dokument das geöffnet ist aktualisieren
Set Item = CurDoc.ReplaceItemValue( Feldname, Wert(0) )
Next
End If
'Wenn Datenbank aus der gelesen wird
'nicht die gleiche ist, in der das
'Dokument zum aktualisieren ist,
'dann Datenbank wieder schließen
If Ucase(CurDB_.Filepath) <> Ucase(LookDBName_) Then
Call LookDB_.Close()
End If
End Sub