Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Ozan am 31.01.08 - 10:22:41

Titel: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 10:22:41
Hallo,

ich baue gerade eine Art von Forum mit Notes. Hier habe ich Mitgliederbereich. Ich möchte die Mitglieder erlauben Ihre Daten anzupassen bzw. zu ändern.

Mit @Dblookup kann ich die gespeicherte Felder aus der Datenbank holen und dem User anzeigen. Das problem liegt beim anpassen bzw. ändern dieser Daten.

Kann man mit @Dblookup in kombination @Setfield auch Daten in der Datenbank ändern so dass wenn der User z.b sein Passwort ändern möchte, dies auch in der Datenbank ändern und speichert?

Für eine kleine Feedback bin ich dankbar.

Gruss

Ozan
Titel: Re: @Dblookup und @Setfield
Beitrag von: klaussal am 31.01.08 - 10:34:26
Um ehrlich zu sein: so ganz verstehen tue ich das nicht, was du da vor hast ???
Titel: Re: @Dblookup und @Setfield
Beitrag von: ata am 31.01.08 - 10:40:20
... also was ich so rauslese ist, daß die Angaben im Personendokument auf dem Server geändert werden sollen. Vorausgesetzt der User hat das Autorenrecht auf das Dokument, dann kann man bestimmte Daten sicherlich ändern, nur nicht per Formel Datenbankübergreifend - das geht nur mit LotusScript...

Ich wäre aber vorsichtig bei solchen Stunts - das kann auch gehörig ins Auge gehen - das Personendokument hat eine Ausweischarakter...

Toni
Titel: Re: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 10:41:06
Interfacebereich für Mitglieder:

hier sollen die Mitglieder die Möglichkeit haben Ihre Adresse,Name, etc. zu ändern.

Durch das klicken von Speichern button, sollen die Angaben von Usern erfrischt bzw aktualisiert werden.

Wie kann ich die Änderungen von Usern in die Datenbank aufnehmen?

Gruss

Ozan
Titel: Re: @Dblookup und @Setfield
Beitrag von: ata am 31.01.08 - 10:47:21
... ich würde das nicht über ein Interface abwickeln, sondern direkt im Dokument. Damit kann er nur das ändern, was er auch nur ändern können soll. Die Verdrahtung des Personendokumentes, Validierung etc. kannst du dir damit alles sparen.

Du musst das Dokument des Users initialisieren und im Frontend zur Bearbeitung öffnen - was spricht dagegen?

Toni
Titel: Re: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 10:49:49
Kann ich probieren, hast du da für mich ein Beispiel oder Verweis?
Titel: Re: @Dblookup und @Setfield
Beitrag von: WernerMo am 31.01.08 - 10:54:12
Hallo,

dumme Frage: Wie oft ändern die Leute das Passwort, warum nehmen die dann nicht den "Standardweg" über die Webmailbox?
Dieser Weg ist bewährt und vermeidet alle o.g. Probleme.

Gruß Werner
Titel: Re: @Dblookup und @Setfield
Beitrag von: ata am 31.01.08 - 10:54:37
... wie fit bist du mit LotusScript?

Toni
Titel: Re: @Dblookup und @Setfield
Beitrag von: Driri am 31.01.08 - 10:57:16
Geht es denn wirklich um das Personendokument (für mich wäre das dann das aus dem Domino Directory) oder geht es um eine Art Profildatenbank des Benutzers in der Forumsdatenbank ?
Titel: Re: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 11:03:32
@ata
hier was ich schon versucht habe, aber ohne Erfolg:

Dim ses As New notessession
Dim webdoc As notesdocument
Set webdoc = ses.DocumentContext

Dim suche As String
   
suche = webdoc.docunid(0)
   
Dim db As NotesDatabase
Dim PersonView As NotesView
Dim PersonDC As NotesDocumentCollection
Dim PersonDoc As NotesDocument
   
Set db = ses.CurrentDatabase
Set PersonView = db.GetView( "alleadressenbyUnid" )
Set PersonDC = PersonView.GetAllDocumentsByKey(suche, True)
   
If PersonDC.count <> 0 Then
Set PersonDoc = PersonDC.GetFirstDocument      
PersonDoc.forumPasswort = webdoc.forumPasswort_neu(0)      
Call PersonDoc.save(True,True)
End If

@Driri
PersonenDokument in Notes bzw. nsf-file
Titel: Re: @Dblookup und @Setfield
Beitrag von: ata am 31.01.08 - 11:07:30
... was geht denn genau schief - Fehlermeldungen etc - ansonsten hat das mehr mit Hellseherei zu tun...

Es fehlen alle Validierungen...

Toni
Titel: Re: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 11:30:54
HTTP Web Server: Lotus Notes Exception - Unsupported trigger and search in the background or embedded agent

Der Aufruf:

Speichern Button in Teilmaske der "Passwortaenderung" Agent ausführt  --> @Command([ToolsRunMacro]; "Passwortaenderung")
Titel: Re: @Dblookup und @Setfield
Beitrag von: m3 am 31.01.08 - 11:42:16
Und von welchem Type ist der Agent "Passwortaenderung"?
Titel: Re: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 12:08:33
Das ist eine gute Frage, wo ich dummi nicht drauf gekommen bin. Damit habe ich die Fehlermeldung wegbekommen, aber er überschreibt das irgendwie immer noch nicht.

Fehlermeldung Server=keine

Nur wenn ich die Formname angebe, gibt es die Fehlermeldung "Objekt varable not set".


webdoc.docunid(0)=ID von notes


hier:

Dim ses As New notessession
Dim webdoc As notesdocument
Set webdoc = ses.DocumentContext

Dim suche As String
   
suche = webdoc.docunid(0)
   
Dim db As NotesDatabase
Dim PersonView As NotesView
Dim PersonDC As NotesDocumentCollection
Dim PersonDoc As NotesDocument
   
Set db = ses.CurrentDatabase
Set PersonView = db.GetView( "alleadressenbyUnid" )
Set PersonDC = PersonView.GetAllDocumentsByKey(suche, True)
   
If PersonDC.count <> 0 Then
Set PersonDoc = PersonDC.GetFirstDocument     
PersonDoc.Form="Personen"      
PersonDoc.forumPasswort = webdoc.forumPasswort_neu(0)     
Call PersonDoc.save(True,True)
End If

Gruss

Ozan
Titel: Re: @Dblookup und @Setfield
Beitrag von: Ozan am 31.01.08 - 12:16:20
Ok. Ich habe jetzt das geschafft, natürlich mit eure hilfe. Wichtig hier war dass der AgentTyp richtig ist. Das mit der "Objekt variable not set" lag an mir, das Feld war nicht richtig gefüllt gewesen.

Dannke an alle.

Gruss

Ozan