Autor Thema: User erlauben nur ein Dokument in einer DB zu erstellen  (Gelesen 3136 mal)

werner16

  • Gast
Hallo,

wir wollen für eine kurze Mitarbeiterbefragung eine kleine Datenbank einrichten,
in der die MA in einer Maske kurz ein paar Fragen beantworten sollen.

Wie kann ich gewährleisten, dass jeder MA nur einmal an der Umfrage teilnimmt?
Gibt es eine Möglichkeit abzufragen wenn der User ein neues Dokument erstellt
ob von ihm bereits eines vorhanden ist?
Oder generell wenn er die Datenbank öffnet?
Die DB ist so, das der User beim öffnen der DB einen Navigator und eine Startmaske
zu sehen bekommt, auf der auf einen Button 'Teilnehmen' klickt.

Jetzt soll er dies eben nur einmal können!

Gruß,
Werner

klaussal

  • Gast
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #1 am: 20.11.13 - 09:29:40 »
Vor dem Speichern (im Querysave) abfragen, ob der User schon ein Doc angelegt hat.
Code
	'---- schon gewählt ?
	Set view = db.GetView( "(.werhatschon)" )
	Set docSearch = view.GetFirstDocument
	While Not ( docSearch Is Nothing )
		If docSearch.name(0) = doc.name(0) Then
			Msgbox "Schon gewählt !"
			continue = False
			Exit Sub
		End If
		Set docSearch= view.GetNextDocument( docSearch )
                   Wend
« Letzte Änderung: 20.11.13 - 09:33:00 von klauss »

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #2 am: 20.11.13 - 09:32:23 »
Hallo !

Eine Möglichkeit in aller Kürze: Alle Befragungsdokumente werden zuvor erstellt, Status "Neu", kann auch ein Abgleich mit einer bestehenden Mitarbeiterdatenbank erfolgen.
Wenn der User das Dokument bearbeitet, z.B. Button "einreichen" -> Statusänderung auf "eingereicht", kein ändern mehr möglich (ev. Autorenfeld ausleeren).
Damit jeder User sein Dokument bekommt, wird der Username benötigt. Leserfelder sind bei einer Mitarbeiterbefragung wahrscheinlich auch sinnvoll.

Gruss
Udo

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #3 am: 20.11.13 - 09:32:55 »
Vorweg: Ein 100%iger Schutz ist (in Notes) nur sehr schwierig umzusetzen. Insbesondere wenn Repliken beteiligt sind.

Ich würde eine Lookup-Ansicht machen, in der man den Usernamen nachschlagen kann und im QueryOpen der Maske eben nachsehen, ob gerade versucht wird, ein neues Dokument zu erzeugen und ob es schon ein Dokument für den Benutzer gibt.

Man kann die Logik auch in den Button rein programmieren, der in der Ansicht nachsieht, ob schon teilgenommen wurde und ggf. dieses Dokument wieder öffnet.

(Enfacher geht es evtl noch mit Userprofilen, diese kann man aber nicht in einer Ansicht darstellen)

Bedenke: Namen können sich ändern (Heirat) und man kann dann 2x teilnehmen

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

werner16

  • Gast
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #4 am: 20.11.13 - 10:07:07 »
Hallo,

ersmal vielen Dank für die Antworten.

@klauss:

Versuche mich gerade an Deinem Script für das Querysave, bekomme
da leider nur die Fehlermeldung 'Variant does not contain an object'
wenn ich das Dokument speicher!?!

Gruß,
Werner


klaussal

  • Gast
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #5 am: 20.11.13 - 10:12:19 »
Ich kenne dein Script nicht. Alle Dims und sets gesetzt ? Was sagt der Debugger ?

werner16

  • Gast
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #6 am: 20.11.13 - 10:18:57 »
Hallo klauss,

ich habe nur das von Dir gepostet Script bei der Maske im Objekt 'Querysave'
eingefügt (das war ja leer) und in der Zeile:

Set view = db.GetView( "(.werhatschon)" )

meine Ansicht hinterlegt, also

Set view = db.GetView( "(Ergebnis)" )

eingetragen.

Gruß,
Werner

klaussal

  • Gast
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #7 am: 20.11.13 - 10:26:37 »
Das reicht nicht !

Es fehlen bestimmt alle set-Anweisungen und alle Dim's......

werner16

  • Gast
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #8 am: 20.11.13 - 10:39:30 »
Hi,

da merke ich, dass ich seit knapp 5 Monaten nichts mehr in Notes programmiert habe!  :(

Gruß,
Werner

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: User erlauben nur ein Dokument in einer DB zu erstellen
« Antwort #9 am: 20.11.13 - 13:50:38 »
Moin

Evtl. einfach als Profildokument? Beim speichern das Autorenfeld anpassen, dann kann der User das nicht mehr bearbeiten.

Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz