Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: tuelb am 25.02.03 - 13:24:16

Titel: Verbindung zwischen 2 Masken/Ansichten
Beitrag von: tuelb am 25.02.03 - 13:24:16
Ich habe mal wieder ein (Lotus Notes Verständnis-) Problem.
Ich habe 2 Ansichten, die aus 2 Masken erstellt werden (User,Hardware). In der Maske Hardware gibt es ein Feld "Username" und in der Maske User auch. Wie stelle ich dazwischen jetzt eine Verbindung (Join->SQL) her. Ich möchte, das in der Maske Hardware, die zum jeweiligen Benutzer dazugehörigen Daten (Name,Vorname usw.  aus User) angezeigt werden.
Danke.
Sebastian
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: Performance am 25.02.03 - 13:41:17
- du hast ja eine Ansicht user - in der ersten Spalte sortiert ist der Name drin.. richtig ?
- in der Maske hardware hast du ein Feld user das als Typ dialogliste besteht mit der formel @DBcolumn()  auf die user Ansicht - erste spalte


cu
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: tuelb am 25.02.03 - 13:58:08
erst mal danke für den Tip aber ich brauche das mal in Lotus Anfängersprache. Ich habe jetzt das Feld in der Maske Hardware auf Dialogliste geändert. Aber wo schreibe ich das @dbcolumn()hin?? Meine Ansicht User hat die Spaltenbezeichnungen ->Benutzernamen,Nachnamen,Vornamen,Kst.  und ich würde gerne diese Felder(ausser Benutzername, den habe ich da ja schon) dann in auch in der Maske Hardware haben.
Muss dazu sagen, dass die beiden Masken mit dem LEI befüllt werden.
Danke
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: Performance am 25.02.03 - 14:31:08
- wenn du mehrer Felder brauchst geht das viel besser mit Picklist

mach dir ein button neben das user Feld - der folgende aktion beinhaltet:

   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As Notesdocument, actdoc As Notesdocument
   Dim col As NotesDocumentCollection
   Set db = ws.CurrentDatabase.Database
   
   dbname = ws.CurrentDatabase.Database.filepath
         userview = "userview"
   Set col = ws.PickListCollection(1, False, "",dbname,userview,"Select", "Please select a document.")
   If col.count = 0 Then Exit Sub      
   Set doc = col.GetfirstDocument
   
   Set actdoc = ws.Currentdocument.document
   Call actdoc.replaceitemvalue("Subject", doc.Subject(0) )
   ' und der Rest der Felder ....
   actdoc.save True, False




cu
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: tuelb am 25.02.03 - 15:28:38
werde es gleich mal ausprobieren.... geht es vielleicht, dass man mit einem Agenten alle Dokumente "überarbeitet". D.h. ich erstelle in der Maske Hardware noch die benötigten Felder und sage ihm dann(keine Ahnung wie??), dass er schauen soll, was in dem Feld Benutzer/Hardware steht, dann in die Ansicht User geht dort den Benutzer sucht und die dazugehörigen Werte in die Hardwaremaske einträgt. Dann hätte ich vielleicht auch mein  LEI Update Performance Problem umgangen. Kannst Du mir da helfen?
Habe leider nur eine Zwangsliebe zur Lotus Notes und bin noch nicht richtig fit
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: tuelb am 25.02.03 - 15:37:47
- wenn du mehrer Felder brauchst geht das viel besser mit Picklist

mach dir ein button neben das user Feld - der folgende aktion beinhaltet:

   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As Notesdocument, actdoc As Notesdocument
   Dim col As NotesDocumentCollection
   Set db = ws.CurrentDatabase.Database
   
   dbname = ws.CurrentDatabase.Database.filepath
         userview = "userview"
   Set col = ws.PickListCollection(1, False, "",dbname,userview,"Select", "Please select a document.")
   If col.count = 0 Then Exit Sub      
   Set doc = col.GetfirstDocument
   
   Set actdoc = ws.Currentdocument.document
   Call actdoc.replaceitemvalue("Subject", doc.Subject(0) )
   ' und der Rest der Felder ....
   actdoc.save True, False




Das macht er nicht. Er sagt "Datei nicht vorhanden..." Was soll denn da passieren. Habe keine Ahnung von Lotus Skript.
S
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: Performance am 25.02.03 - 19:20:45
- klar kann ein Agent alle Dokumente updaten - du gehst alle doks der Hardware Ansicht durch und sucht bei jedem dok den user aus der Ansicht User - dann wird upgedatet - so einfach ist das.
 
poste die db mit den 2 Masken+Views - dann werde ich das checken



cu
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: tuelb am 26.02.03 - 12:02:43
Hier eine schnell erstellte DB mit ein paar Beispieldaten.
Danke schon mal.
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: Performance am 26.02.03 - 14:19:37
was ich noch nicht ganz verstehhe - wenn der LEI das ganze Zeug reinschreibt warum willst du dann noch manuell die Namen suchen+reinschreiben ?

cu
Titel: Re:Verbindung zwischen 2 Masken/Ansichten
Beitrag von: tuelb am 26.02.03 - 15:02:21
Ich muss diesen Updatevorgang zeitlich verkürzen, weil der LEI noch andere Aufgabe in der Nacht zu erledigen hat und da kann es nicht sein, dass er für ein Update auf den bestehenden Benutzernamen 1 Stunde braucht(siehe mein posting PRoblem forum). Die Daten für die Hardware und User kommen aus unterschiedlichen Datenbanken(-systemen).
Ich habe jetzt aber schon eine relativ annehmbare Lösung per Agent gefunden.


FIELD Nachname_hw := @DbLookup("";"";"User";sysusername;2);1;

Nochmals Danke für deine Hilfe.
Sebastian