Autor Thema: Pflichtfeld-Abfrage beim speichern  (Gelesen 1801 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Pflichtfeld-Abfrage beim speichern
« am: 21.08.03 - 21:54:48 »
Hi,

die Frage war hier schon öfters lt. Suche, allerdings die Lösungen nichts für mich.

Klar kann man beim Speichern abfragen mit 'Input Validation' z.B.
@If(Subject = "";@Failure("Please enter a subject!");@Success)

Das hat aber (1) einen Schönheitsfehler: der Speicherrequester kommt dann nochmal, wenn z.B. ein Button "Speichern und schließen" angeklickt wird, in dem steht
@Command([FileSave]);
@Command([FileCloseWindow])


Und (2) ist es super umständlich, jedes Feld anzuklicken, Code einfügen, anpassen etc.

Schöner wäre ja eine generelle Scriptlösung....

Hat da keiner eine Lösung?

bye,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #1 am: 21.08.03 - 22:20:15 »
... ich pflege 3 Arrays - Feldnamen, Beschreibung und Datentyp
... im QuerySave der Maske lasse ich die Feldnamen überprüfen
... wenn eines leer, dann Continue = False und die entsprechende Meldung...

meinst du etwas in der Art?

ata
Grüßle Toni :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #2 am: 21.08.03 - 22:24:05 »
Hi Ata,

hört sich interessant an  :)

Wenn Du einen Beispielcode noch hättest wäre prima, ansonsten schau ich mal selber, schätze soo schwierig wird das nicht sein.

Aber eben mit einem Beispiel wäre es noch einfacher für mich  :D

Danke jedenfalls für den Tipp!

bye,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #3 am: 21.08.03 - 22:28:24 »
Nachtrag:

Und interessant zu wissen wäre es noch, wie man es dann steuert, dass die Abfrage nicht 2mal stattfindet bei Buttonclick auf "
@Command([FileSave]);
@Command([FileCloseWindow])
"

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #4 am: 21.08.03 - 22:29:15 »
zu 1)
gibt es den Trick @if(@Command([FileSave]);
@Command([FileCloseWindow]);"");

klappt weil der @command FileSave einen boolean Wert zurückgibt. Das übersieht man leicht.

zu 2) Das hast du richtig erkannt. Dafür gibt es frameworks. Allerdings ist Feld-Validierung ein überraschend weites Feld. Es gibt Mehrwertfelder. Datumsfelder die nur in einer bestimmten Date-Range liegen dürfen. Möglicherweise noch in Abhängigkeit von einem anderen Feld... und vieles andere mehr. Diese Details der Business-Logik blasen dann das schönste Framework auf.
 
Gruß Axel

... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #5 am: 21.08.03 - 22:34:33 »
cool, danke auch schonmal für Tipp (1) Axel  :)

Muss ich dann mal testen (leider erst morgen möglich)....

Zu (2): Ein Ansatz / Beispiel wäre trotzdem mal prima, um das zu testen.
Ich fände es sehr praktisch, alle Felder übersichtlich zu sehen in einem Script etc. und jew. nur die Flags anzupassen....

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #6 am: 21.08.03 - 23:19:55 »
o Mann  >:(

Das ist jetzt aber die Billiglösung anhand 2er Felder und ich teste das nicht. Vermutlich sind da noch Fehler drin. Passe die Feldnamen an deine Gegebenheiten an und tue den code ins querySave der Maske.



Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
   
   On Error Goto Fehler
   
   Dim docThis As NotesDocument
   Dim errorMsg As String
   Dim nl As String
   Dim hasError As Integer
   Dim i As Integer
   Dim strFelder(1) As String
   Source.refresh
   Set docThis = Source.Document
   hasError = False
   errorMsg = ""
   nl = Chr$(13) & Chr$(10)
   
   strFelder(0) = "aTest1"
   strFelder(1) = "aTest2"
   
   For i = 0 To Ubound(strFelder)
      If Trim(docThis.getItemValue (strFelder(i))(0)) = "" Then
         errorMsg = errorMsg & |Feld "| & strFelder(i) & |" ist nix drin| & nl   
         If hasError = False Then
            Source.GotoField(strFelder(i))
            hasError = True
         End If
      End If   
   Next
   
   If (hasError) Then
      Msgbox errorMsg ' gibt noch eine Reihe nützlicher Parameter in messagebox
      Continue = False
   End If
   
   Exit Sub
   
Fehler:
   Msgbox ": Fehler:" & Error$ & "(" & Cstr(Err) & ") in Zeile " & Cstr (Erl)
   Exit Sub
End Sub


hab doch getestet.
« Letzte Änderung: 22.08.03 - 00:45:44 von Axel_Janssen »
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Pflichtfeld-Abfrage beim speichern
« Antwort #7 am: 22.08.03 - 16:37:24 »
Supi, vielen Dank Axel, klappt prima und hat mir sehr geholfen!!!
 :) :) :)

bye,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz