Hi, Ralf!
Es ist manchmal deutlich
einfacher und vor allem schneller, einen Fehler zu
provozieren, als ihn auf Teufel-komm-raus zu vermeiden.
schtümmt, so habe ich es ja auch gelöst. Ich schwimme
allerdings ein wenig mit diesem ErrorOn - muss mir die
Auswirkungen nochmal genauer anschauen.
Ich haue mir in jede noch so kleine Funktion zu Beginn folgenden Prozedurrumpf rein:
Sub DummyFunktion()
Const cstrProcName = "DummyFunktion" 'ErrorHandler:blush:$N=FindFiles
'--------------------
On Error GoTo ErrorHandler
' z. B. was löschen und neu anlegen
Kill "C:\Temp\Test.txt"
' ...
' Fehlerbehandlungsblock hinzugefügt vom Fehlerbehandlungsroutinen-Add-In. Bearbeiten Sie diesen Codeabschnitt NICHT.
'--------------------
ErrorHandler:
Select Case Err.Number
Case 0
case 53
' Fehler: Datei nicht gefunden: Da ich löschen will, ist das egal:
resume next
Case Else
MsgBox "Fehler: " & vbTab & Err.Number & "-" & Err.Description & vbCrLf \_
& "Modul:" & vbTab & mcstrModName & vbCrLf \_
& "Funktion:" & vbTab & cstrProcName, vbExclamation + vbOKOnly, "Fehler!"
Resume ErrorHandler
End Select
End Sub
Alle vorhersehbaren und entsprechend behandelbaren Fehler kommen in die Select Case-Anweisung. Meistens gehe ich da mit einem Resume Next zurück. Nur die unvorhergesehenen Probleme landen wenigstens noch im Case Else-Teil, geben eine Messagebox aus und beenden die Ausführung der Prozedur. mcstrModName ist dabei in jedem Modul die Konstante, die den Modulnamen beinhaltet.
Die Controls kriege ich zu packen, nur halt keine passende
Eigenschaft dazu.
Wie meinst Du das jetzt?
Wenn ich so eine Eigenschaft nicht finde, dann gehe ich
erstmal davon aus, dass es sie trotzdem gibt 
Hmmm. Wenn ich eine Eigenschaft nicht finde, gibt’s die auch nicht, oder ich kann nicht auf sie zugreifen. myControl.Properties(„GipsDas“) liefert z. B. den Fehler „Eigenschaft nicht vorhanden“ (oder was weiß ich, wie die genau heißt)…
Die Controls lassen sich ja recht einfach finden, nur keine
Aussage darüber, ob sie aktiv sind. Bei mir ist das ein
Formblatt, auf dem Tabellensätze nur zum Löschen angezeigt
werden, also kein Hinzufügen möglich ist. Wenn die Tabelle
leer ist, ist eben nichts aktiv.
Das solltest Du ja rausbekommen, wenn RecordCount Deiner Formular-Datenquelle 0 ist.
Gruß, Manfred