Autor Thema: Queryclose bei kopierten/übernommenen Dokumenten  (Gelesen 1253 mal)

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Hallo,

ich stelle mit folgender Formel neue Dokumente aus vorhandenen her:

Zitat
Sub Click(Source As Button)
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim uidocNew As NotesUIDocument
   Dim docCurrent As NotesDocument
   Dim docNew As Notesdocument 
      
   Set uidoc = ws.CurrentDocument
   Set docCurrent = uidoc.Document
   Set db = session.CurrentDatabase 
   Set docNew = New NotesDocument(db)
   
   docNew.Form = "Eingabe"
   docNew.Vorname = docCurrent.Vorname
   docNew.Nachname = docCurrent.Nachname
   ..........
   Set uidocNew = ws.EditDocument(True, docNew)
   Msgbox "Dokument erfolgreich erstellt" ,64,"Hinweis"
      
End Sub

Klappt auch ohne weiteres. Nun habe ich aber das Problem, dass das neue Dokument einfach per ESC abgebrochen werden kann, ohne gespeichert zu werden. Ich habe probiert des mit einem Queryclose zu verhindern:

Zitat
        Dim workspace As New NotesUIWorkspace
   Dim doc As NotesUIDocument
   Dim answer As Integer

Set doc = workspace.CurrentDocument
   If doc.EditMode Then
      answer = Messagebox  ("Achtung speichern!!" , 4 + 16, "Hinweis")
      If (answer = IDYES) Then
         Call doc.Save
      Else
         Call doc.Close
      End If
      
   End If

Klappt auch klasse. Problematisch ist nur, dass nun sämtlich Dokumente im Edit Mode diese abfrage erhalten. Kann ich dies irgendwie abfangen? Die Abfrage soll explizit nur für die neu erstellten Dokumente gelten.

Wenn ich die untere Formel in die Formel zur Erstellung des Dokumentes einbette, habe ich das Problem, das es ja kein Query ist, sondern die Formel sofort ausgeführt wird.

Wo muss ich dort ansetzen? Könnt ihr mir einen Denkanstoss geben?

Grüße
Ralf

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Queryclose bei kopierten/übernommenen Dokumenten
« Antwort #1 am: 06.12.05 - 18:52:36 »
Hi,

folgende Vorgehensweise wäre möglich. Beim Anlegen eines neuen Dokumentes legst du ein temporäres Feld an. Das braucht nicht in der Maskengestaltung enthalten sein.

Sub Click(Source As Button)
    ...   
   Set docNew = New NotesDocument(db)
   
   docNew.Form = "Eingabe"
   docNew.DocNeu = "1"   'Feld zur Kennzeichnung eines neuen Dokumentes
    ..........
   Set uidocNew = ws.EditDocument(True, docNew)
   Msgbox "Dokument erfolgreich erstellt" ,64,"Hinweis"
     
End Sub

Vorm ersten Speichern löscht du das Feld wieder. Somit erfolgt nur bei den Dokumenten, die im Edit -Modus sind und dieses Feld haben, die Speicherabfrage.

QueryClose-Event:

   Dim workspace As New NotesUIWorkspace
   Dim doc As NotesUIDocument
   Dim answer As Integer

   Set doc = workspace.CurrentDocument
   If doc.EditMode And doc.HasItem("DocNeu") Then
      answer = Messagebox  ("Achtung speichern!!" , 4 + 16, "Hinweis")
      If (answer = IDYES) Then
         Call doc.RemoveItem("DocNeu")  'Feld löschen
         Call doc.Save
      Else
         Call doc.Close
      End If
     
   End If


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Queryclose bei kopierten/übernommenen Dokumenten
« Antwort #2 am: 06.12.05 - 18:57:10 »
Im übrigen sieht das
Code
Set docCurrent = uidoc.Document
   Set db = session.CurrentDatabase 
   Set docNew = New NotesDocument(db)
   
   docNew.Form = "Eingabe"
   docNew.Vorname = docCurrent.Vorname
   docNew.Nachname = docCurrent.Nachname
   ..........
für mich ein bischen problematisch aus. Versuch mal ein abgespeichertes vorhandenes Dokument zu öffnen. Das Feld Vorname zu ändern und dann den Button zu drücken, der diese Erstelle-neues-Dokument-aus-vorhandenen Funktionalität aufruft.
Ich wette der hat nicht den neuen Wert des Felds "Vorname".

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Re: Queryclose bei kopierten/übernommenen Dokumenten
« Antwort #3 am: 06.12.05 - 20:23:18 »
Zitat
für mich ein bischen problematisch aus. Versuch mal ein abgespeichertes vorhandenes Dokument zu öffnen. Das Feld Vorname zu ändern und dann den Button zu drücken, der diese Erstelle-neues-Dokument-aus-vorhandenen Funktionalität aufruft.
Ich wette der hat nicht den neuen Wert des Felds "Vorname".

Gruß Axel

Hmm habs mal so getestet. Also er übernimmt das Feld, auch wenn das otg. Dokument im bearbeiten Modus ist und ich den Vornamen geändert habe.  :)

Danke für die Antworten. Ich werde es mal testen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz