Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: SG05 am März 10, 2012, 19:40:26

Titel: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: SG05 am März 10, 2012, 19:40:26
Hallo zusammen,

habe folgendes Problem:

In einem Ufo werden Daten angezeigt und über die Eigenschaft "Beim Klicken" ein weiters Formular auf Basis des aktuell ausgewählent Datensatzes ( über Datensatzmarkierer ) angezeigt

Private Sub Form_Click()
usw......

Nun kommt es vor, dass keine Daten angezeigt werden. Wenn der User nun in das "leere" Ufo klickt folgt:

Laufzeitfehler 2113 "Sie haben einen Wert eingegeben, der......"

Wie kann ich diese Fehlermeldung verhindern, da der User über "Debuggen" in den Code kommt?

Danke für die Hilfe
Titel: Re: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: Stapi am März 10, 2012, 19:56:35
´Hallo SGO5

Schau mal in die Access Hilfe NZ() Funktion
Titel: Re: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: Beaker s.a. am März 10, 2012, 21:22:45
hallo sg05,
ZitatWie kann ich diese Fehlermeldung verhindern, da der User über "Debuggen" in den Code kommt?
Wie wär's denn mit einer Fehlerbehandlung?
Prinzip:
Private Sub Form_Click()
On Error Goto Fehler
.
ganz viel von Deinem tollen Code
.
Ende:
Exit Sub
Fehler:
If Err.Number = 2113 Then
   Mach was
   Resume (je nach dem, was vorher passiert)
End if
End Sub

hth
gruss ekkehard
Titel: Re: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: bahasu am März 11, 2012, 07:46:36
Moin,

statt einer Fehlerbehandlung kannst Du auch den "falschen" Formularaufruf vermeiden, indem Du den Formularaufruf nur zulässt, wenn es kein neuer Datensatz ist:

If Not Me.NewRecord Then DoCmd.OpenForm "Formular2"

Siehe Beispiel im Anhang.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: Beaker s.a. am März 11, 2012, 14:19:04
Hallo Harald,
Zitatstatt einer Fehlerbehandlung
Also "statt" ist IMO kein guter Ansatz; ich plädiere für "zusätzlich".
Natürlich ist es gut Fehler schon im Vorfeld zu vermeiden, aber
auf eine Fehlerbehandlung sollte man auf keinen Fall verzichten.
1. kann ja auch noch ein anderer Fehler auftreten
2. ist die in einer Runtime essentiell, da Access die Anwendung
bei fehlender Fehlerbehandlung gnadenlos abschiesst.
gruss ekkehard
Titel: Re: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: bahasu am März 11, 2012, 14:57:39
Hi ekkehard

Zitat von: Beaker s.a. am März 11, 2012, 14:19:04
"zusätzlich"

... akzeptiert,  ;)
besonders den Zusatz, dass Fehler vermieden werden   :D

Harald
Titel: Re: Fehlermeldung wenn keine Daten im Ufo
Beitrag von: ebs17 am März 11, 2012, 21:18:50
Die (auf jeden Fall notwendige) Fehlerbehandlung sollte sich auf unerwartete Fehler beschränken.

Dass in einem Formular je nach Filterung evtl. keine Datensätze vorhanden sein können, dürfte spätestens nach dem ersten Auftreten nicht mehr unerwartet vorkommen. Zudem ist das ein mit wenig Aufwand prüfbarer Zustand:
Private Sub Form_Click()
  If Not Me.Recordset.EOF Then DoCmd.OpenForm ...
End Sub


MfGA
ebs