PDA

Vollständige Version anzeigen : Laufzeitfehler 3075 abfangen


britney
06.05.2004, 21:05
Hallo,

weiß jemand, wie ich den Laufzeitfehler 3075 abfange und eine eigene (!) Fehlermeldung ausgebe?

Nouba
06.05.2004, 21:09
Gegenfrage: Bei welcher Aktion tritt der Fehler denn ein und wie lautet die Fehlermeldung?

Arne Dieckmann
06.05.2004, 21:13
Ich kann gerade nichts mit der Fehlernummer anfangen. Was bedeutet dieser Fehlercode und fast noch wichtiger: In welchem Zusammenhang (VBA-Code?) tritt er bei Dir auf?
Ansonsten schaue Dir einmal den Code der per Assistenten generierten Buttons an. Diese besitzen eine Fehlerbehandlung, die Du nur etwas erweitern musst:

If Err.Number<>3075 then
Msgbox Err.Description
else
Msgbox "Meine Meldung",vbCritical,"Titel der Meldung"
End if
resume ...

britney
06.05.2004, 23:06
Original geschrieben von Nouba
Gegenfrage: Bei welcher Aktion tritt der Fehler denn ein und wie lautet die Fehlermeldung?

Wenn man in einem Textfeld das falsche Datumsformat für eine SQL-Anweisung eingibt. Die Fehlermeldung ist nur wenig verständlich. Deshalb möchte ich dem Nutzer eine eigene MsgBox präsentieren.

@Arne Dieckmann:
Der Code funktioniert leider nicht. Gibt weiterhin die Fehlermeldung 3075 und keine eigene.

Arne Dieckmann
07.05.2004, 07:20
Wie fragst Du denn die Datumswerte ab? Anscheinend fehlt auch der "Bis-Wert" (die Between-Klausel erwartet 2 Datumswerte). Statt einer Inputbox (?) würde ich lieber ein Formular als Dialog vorschalten und dort 2 Datumsfelder (über die Format-Einstellungen) zur Abfrage anlegen. Alternativ kannst Du die Variablen per IsDate() kontrollieren und entsprechend reagieren. Wenn Du den VBA-Code preisgibst könnte man mehr sagen.

britney
07.05.2004, 09:30
Gute Idee!

Ich zwinge jetzt den Nutzer zum Eingabeformat JJJJ-MM-TT schon in der Textbox (____-__-__).

Vielen Dank für die schnelle Hilfe!

Grundsätzlich: Gibt es eine Möglichkeit Laufzeitfehler abzufangen? Über
If Err.Number = 3075 then geht es nicht.

Arne Dieckmann
07.05.2004, 09:34
Ich schreibe es noch einmal: Schau Dir die Fehlerbehandlung eines Standardbuttons an. Aber da das wohl wieder zuviel verlangt ist:

Private Sub DeinButton_Click()

On Error GoTo Err_DeinButton_Click

'Hier der Code, der evtl. zum Fehler führt.


Exit_DeinButton_Click:
Exit Sub

Err_DeinButton_Click:
If Err.Number = 3075 Then
MsgBox "Deine Meldung"
Else
MsgBox Err.Description
End If
Resume Exit_DeinButton_Click

End Sub

Die blauen Zeilen sind standardmässig nicht dabei.

britney
07.05.2004, 09:46
Tut mir leid, hab den Code gestern nicht sorgfältig genug gelesen und geändert. Jetzt funktioniert es!

Noch mal vielen Dank!