Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: lenky am Mai 21, 2010, 12:29:37

Titel: Msg Box bei Buttonbetätigung nein - Access schließen oder offene Accessdatei
Beitrag von: lenky am Mai 21, 2010, 12:29:37
Hallo an EUCH Helfer, und alle Anderen

Habe für ein frm eine Msg Box angelegt, welche beim Öffnen des frm's aktiviert wird.
Bei der Antwort ja kann die Datenbank genutzt werden. Bestätigt der Nutzer jedoch nicht und klickt nein, soll die Datenbank geschlossen werden.

Hab im Netz einen Code gefunden und mir damit die ganze Datenbank zerschossen, da bei ja und nein die Datenbank beendet wurde. Jetzt starte ich nen Neuanfang und bite um Eure Hilfe!

Mein Code:
Private Sub Form_Open(Cancel As Integer)
Dim Msg, Style, Title, Help, Ctxt, Response, MyString

Msg = "Text" & vbCrLf & bCrLf & vbCrLf & bCrLf & "Text" & bCrLf & vbCrLf & bCrLf & "Text" & bCrLf & vbCrLf & bCrLf & vbCrLf & bCrLf & vbCrLf & bCrLf & "Text"

Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "MsgBox Demonstration"
Help = "DEMO.HLP"
Ctxt = 1000

Response = MsgBox(Msg, Style, Title, Help, Ctxt)

If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If


End Sub

Was muss ich jetzt ergänzen?? Und wo?

Vielen Dank im Voraus

Gruß lenky
Titel: Re: Msg Box bei Buttonbetätigung nein - Access schließen oder offene Accessdatei
Beitrag von: Wurliwurm am Mai 21, 2010, 14:03:08
Zitat von: lenky am Mai 21, 2010, 12:29:37
Was muss ich jetzt ergänzen?? Und wo?
Gruß lenky

Hi Lenky,

wenn Du
    DoCmd.Quit
schreibt für den Fall vbNo, wird Access beendet. Sinvoll ist es natürlich, eventuell vorhandene Connections auch noch zu zestören (mit set ... = nothing)

Wie konntest Du eine mdb damit zerschiessen?
Titel: Re: Msg Box bei Buttonbetätigung nein - Access schließen oder offene Accessdatei
Beitrag von: database am Mai 21, 2010, 17:24:19
Hallo,

Das Ergebnis deiner Msgbox KANNST du direkt abfragen ohne den ganzen Klimbim drumherum.


Private Sub Form_Open(Cancel As Integer)
    Dim Msg As String

    Msg = "Dein Text" & vbCrLf & vbCrLf & "Dein weiterer Text"

    If MsgBox(Msg, vbYesNo + vbCritical + vbDefaultButton2, "MsgBox Demo") = vbYes Then
        'Es wurde JA geklickt ....
        'weiterer Code für diesen Fall ...
    Else
        'Es wurde NEIN geklickt
        Cancel = True
        DoCmd.Quit
    End If

End Sub


Zitateventuell vorhandene Connections auch noch zu zestören

Sollte eine Verbindung zu einem Backend hergestellt wurden sein BEVOR das Öffnen des Formulars veranlasst wurde ist diese zu schließen

z.B. mit diesem Code, der dann im Else-Zweig vor 'Cancel = True' einzufügen wäre
(Wenn das Connection-Object 'Conn' heisst)
Conn.Close
Set Conn = Nothing


Grüße
Peter