Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Makroaufruf ermitteln

Begonnen von andyfau, Oktober 31, 2023, 09:47:30

⏪ vorheriges - nächstes ⏩

andyfau

Ein freundliches Hallo in die Runde.

In einer recht umfangreichen Datenbank habe ich alle Makros durch eigene, bzw. aus der Konvertierung hervorgehende Funktionen ersetzt. Soweit so gut.
Jedoch bleibt ein Makro übrig, bei dem ich nicht zuordnen kann wo es aufgerufen wird. Ich habe den VBA-Code, alle Steuerelemente, etc. durchsucht, finde es aber nicht. Da es nur eine simple Meldung ausgibt, scheint es nicht allzu wichtig zu sein. Denn, wenn ich es lösche, hab ich es auch durch testen vieler Funktionen bisher nicht auslösen können. Doch ich möchte wetten, wenn ich es in der Produktivumgebung lösche, läuft der Anwender auf den Hammer.
Ich weiß, es frisst kein Brot, wenn es drin bleibt. Aber es stört mich.
Vielen Dank für einen Tipp, wie man den Aufrufpunkt, wenn es einen gibt, finden kann.

Andreas

PhilS

Zitat von: andyfau am Oktober 31, 2023, 09:47:30Ich weiß, es frisst kein Brot, wenn es drin bleibt. Aber es stört mich.
Vielen Dank für einen Tipp, wie man den Aufrufpunkt, wenn es einen gibt, finden kann.
Für die meisten Objekttypen kann man im Ribbon "Database Tools" - "Object Dependencies" verwenden, um die Stellen zu finden, an denen sie verwendet wurden. Das funktioniert zuverlässig wenn die fraglichen Objekte direkt in Eigenschaften eingetragen sind, in aktuellen (seit A2010) Versionen auch, wenn es sich dabei um einen Ausdruck handelt. Im VBA-Code werden die Objekte aber nicht gefunden.
Leider werden Makros von den "Object Dependencies" nicht unterstützt.

Für dein konkretes Problem mit dem Makro, kannst du ein Tool wie Find and Replace verwenden, das alle Eigenschaften der Objekte und den VBA-Code nach Begriffen durchsuchen und ggfls. ersetzen kann.
(Offenlegung: Dies ist Eigenwerbung, ich bin der Eigentümer von Find and Replace.)
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

andyfau

Hallo Phil,
vielen Dank für Deine Antwort. Die Objectabhängigkeiten der DB-Tools hatte ich auch schon durchforstet. Wie Du schon sagst, unterstützen sie leider keine Macros. Find and Replace ist sicher ein nützliches Tool und ich  halte es mal auf dem Schirm. Für eine DB, die ich ehrenamtlich betreue, ist es im Moment ein Kostenfaktor.
Trotzdem erstmal herzlichen Dank!
Andreas

ebs17

Freeware Add-In ACCESS Dependency Checker

Was immer bleibt: Accessobjekte per SaveAsText exportieren, dabei entstehen Textdateien mit den vollständigen Definitionen dieser Objekte. Text kann man einfach nach einem bekannten Suchwort durchsuchen.
Mit freundlichem Glück Auf!

Eberhard

andyfau

Hallo Eberhard,
vielen Dank auch Dir für den Link zum Tool.
Ich habe es mal runtergeladen und installiert. Leider funktioniert es nur so leidlich und läuft regelmäßig auf diverse Error-Messages, die dann der Autor gemailt bekommen möchte. Also, auf die Schnelle löst es auch nicht mein Anliegen. Auch deine anderen Tipps werde ich mal versuchen und werde berichten, ob und wie ich es lösen konnte.
Beste Grüße
Andreas