2016-05-03 11 views
-2

Ich habe ein kleines Problem beim Erstellen eines Berichts in MS Access. Ich schrieb eine Funktion in vba und erstellte ein Makro für RunCode (die Funktion). Also, wenn ich das Makro ausführe, führt es die Funktion aus und gibt mir eine Nachrichtenbox. Siehe Bild ..MS Access-Funktion VBA, Makro

msgbox

Ich habe das recherchiert und versucht SetWarning OFF aber es taucht immer wieder auf. Wie werde ich das los?

+1

Enthält die Funktion eine Anweisung 'MsgBox'? – HansUp

+0

Nichts. Ich habe die Funktion zu einem Booleschen Programm gemacht, ist das etwas zu tun? An der Spitze tue ich functionname = false und nach everythings done funktioniert functionname = true anders als dass ich gerade Daten von einer Abfrage nehme, es redigiere und sie in eine temporäre Tabelle einfüge – FatBoySlim7

+2

@ FatBoySlim7, wenn du eine bessere Antwort willst, als deinen Code bekannt zu geben . – Sorceri

Antwort

1

Als zukünftige Referenz sieht eine typische "vollständige" Fehlerbehandlungsstruktur z.B. dies wie:

Sub MySub() 

On Error GoTo MySub_Err 

    ' Stuff 


MySub_Exit: 
    On Error Resume Next 
    ' ... Stuff that always needs to run on exit can go here ... 

    ' !! This is the important part that prevents the function 
    ' !! from always running into the error handler: 
    Exit Sub 

MySub_Err: 
    MsgBox Err.Description, vbExclamation, "Runtime Error " & Err.Number & " in MySub" 
    Resume MySub_Exit 

End Sub 

MZ-Tools kann diese Struktur automatisch erstellt werden (aber anpassbar).

1

error_handler:

error_handler: msgbox err.number & "-" & err.description

dies mir gab einen Fehler.

Ich habe nicht mein error_handler: richtig (error_handler :). Nachdem meine Funktion beendet wurde, würde es in error_handler laufen: msgbox err.number & "-" err.description und gib mir das Nachrichtenfeld - "0 -" sagend, weil es keinen Fehler gab. Ich habe es kommentiert und alles scheint in Ordnung zu sein. Danke an @HansUp und alle anderen für ihre Hilfe.

+2

Mach dir keine Sorgen, du wirst nicht wegen ein paar Downvotes blockiert. – Andre

+0

Da ich dieses Konto gestartet habe - ich hatte 2 Fragen mit je 2 downvotes, hatte auch eine Frage mit 2 downvotes aber ich habe es gelöscht. Also alles in allem 6 downvotes. Übrigens bin ich blockiert - oder wie Stackoverflow es gerne ausdrückt "Ich habe mein Fragenlimit erreicht" – FatBoySlim7