Januar 26, 2021, 18:22:34

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Msg Box bei Buttonbetätigung nein - Access schließen oder offene Accessdatei

Begonnen von lenky, Mai 21, 2010, 12:29:37

⏪ vorheriges - nächstes ⏩

lenky

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

Wurliwurm

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?

database

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