Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Absturz bei DoCmd.RunCommand

Begonnen von Walterio, Dezember 17, 2021, 09:16:32

⏪ vorheriges - nächstes ⏩

Walterio

Hallo

Als Click-Ereignis (einer Befehlstaste in einem Format) wird die Funktion > Lösch_Messblock()< aufgerufen, in welcher eine Hilfstabelle gefüllt wird; am Schluss dieser Funktion wird ein Formular aufgerufen der diese Tabelle anzeigt. Der korrekten Forlmular-Anzeige folgt aber ein Absturz mit dem Laufzeitfehler 3329.
Hier bitte ich um Hilfe.
Die Funktion aufrufendes Modul:
Private Sub cmdDelMessblock_Click()
    On Error Resume Next
    DoCmd.RunCommand Lösch_Messblock() <-- hier steht er bei der Fehlermeldung
    On Error GoTo 0
End Sub          ' cmdDelMessblock_Click
Hier schematisch die Funktion:_
 Public Function Lösch_Messblock()
    Dims   ...   
    DoCmd.SetWarnings False
---Abfrage eines Parameters mittels InputBox
---Gültigkeit der Eingabe ?  und   Abbruch (Exit Function) wenn ungültig  ...
---Löschen Inhalt Hilfstabelle ...
---Füllen der Hilfstabelle ...
---am Schluss, Öffnen des Formular:s
    DoCmd.OpenForm "ufLöschProben"
End Function            ' Lösch_Messblock
Der Abbruch geschieht nachdem die aufgerufene Funktion sauber ausgeführt wurden, also die Hilfstabelle schön gefüllt und das Formular korrekt angezeigt wird. In dem Formular hat es 2 Befehlsschaltflächen: >Löschung durchführen< und >Abbrechen<. Beim direkten Aufruf des Formulars läuft alles wie geschmiert...

Auch ein On Error Befehl in der Function bringt nichts.

Hat jemand eine Idee, an was es liegen kann? Braucht man noch mehr Infos? Welche?

Danke für jeden Tip

Walterio

PhilS

Zitat von: Walterio am Dezember 17, 2021, 09:16:32DoCmd.RunCommand Lösch_Messblock() <-- hier steht er bei der Fehlermeldung
Dieser Code ergibt keinen Sinn. RunCommand führt einen vordefinierten Befehl aus, der durch eine der AcCommand-Konstanten festgelegt wird.

Du willst nur deine eigene Funktion aufrufen. Also nur den Funktionsnamen dort schreiben.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

DF6GL

Hallo,

wie lautet die Beschreibung des Fehlers 3329?

wie lautet der komplette VBA-Code der Funktion (Copy&Paste)? (Bei diesem Functionscode würde ich auch gleich das Handtuch werfen...)


Sodann:


Private Sub cmdDelMessblock_Click()
 
 Lösch_Messblock

End Sub          ' cmdDelMessblock_Click

und wirf DoCmd.SetWarnings False  heraus. Baue einen vernünftigen Error-Handler ein.




Bei
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Walterio

Hallo Phil,

Natürlich! Vor lauter Bäume...
Habe die Funktion "as boolean" festgelegt und mit "if Lösch_Messblock() then ..." aufgerufen. Klappt natürlich wunderbar. Danke.

Übrigens nütze ich die Gelegenheit um mich bei dir für die tollen Videos im Codekabinett zu bedanken.

Hallo Franz,

Auch dir Danke. Error-Handling wird verbessert...

Walterio

P.S. Und wo zum Teufel ist dieser "sag Danbke"-Knopf?