Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: pjo12345 am Mai 11, 2011, 02:42:49

Titel: Problem für das ich kein Betreff finde....
Beitrag von: pjo12345 am Mai 11, 2011, 02:42:49
Hallo,

Also ich habe ein Formular unter anderem mit 2 Buttons. Einer fürs Beenden und einen fürs Drucken. Im Ereignis "Vor Aktualisierung" des Formulars habe ich eine Abfrage ob der Datensatz gespeichert werden soll:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Möchten Sie die Änderungen speichern?", 36, "Speichern?") = vbNo Then
        Me.Undo  'rückgängig
        Cancel = True  'Ereignisse verhindern
    End If
End Sub


Hinter dem Button Drucken steht folgender Code:
Private Sub btnDrucken_Click()
 
        DoCmd.RunCommand acCmdSaveRecord
       
        DoCmd.OpenForm "AuswahlDrucken", acNormal, , , , acDialog
   
End Sub


Da ich vor dem Drucken den Datensatz speichern muß, wird natürlich auch das Ereignis "Vor Aktualisierung" ausgelöst. Deshalb erscheint die Frage nach dem Speichern auch hier. Das wäre nicht das Problem. Aber klicke ich hier auf NEIN dann kommt: Laufzeitfehler 3021 kein aktueller Datensatz.
Wie komme ich aus der Sache raus. Am Besten wäre es, wenn ich beim Speichern auf Nein klicke und dann eine MsgBox erklären würde, dass ohne Speichern kein Drucken möglich ist.

Hoffe auf eure Hilfe....

Besten Dank, mfg Pjo12345





Titel: Re: Problem für das ich kein Betreff finde....
Beitrag von: DF6GL am Mai 11, 2011, 09:23:51
Hallo,

bau einen Errorhandler ein, im einfachsten Fall
On Error resume next
vor runcommand accmdsaverecord