Neuigkeiten:

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

Mobiles Hauptmenü

VBA findet Controls nicht?

Begonnen von Doming, September 17, 2025, 13:54:18

⏪ vorheriges - nächstes ⏩

Doming

Hallo,

normalerweise werden einem beim Eintippen von Controls die bestehenden Namen ja vorgeschlagen. Hier in diesem Fall aber nicht.
Sie dürfen in diesem Board keine Dateianhänge sehen.
Und das, obwohl ich das Ereignis ja durch Klick auf das Control (bzw. dessen Ereignisprozedur) erstellt habe.
Ich habe schon gespeichert, komprimiert & repariert aber er weigert sich beharrlich.
Natürlich kann ich den Controlnamen ausschreiben, aber dann bekomme ich den Fehler Methode oder Datenobjekt nicht gefunden

Ich bin mir sicher, dass ich mir mal wieder ein Brett vor die Stirn genagelt habe, aber wo liegt mein Denkfehler?

Gruß
 Doming

Knobbi38

#1
Hallo,

Zitat... bekomme ich den Fehler Methode oder Datenobjekt nicht gefunden

Die Fehlermeldung sagt eigentlich alles, oder?! Überprüfe deinen Code nochmal und erst wenn dieser fehlerfrei kompiliert werden kann, greift Intellisense.

Benutzt du kein "Option Explicit" in deinem Code?

Knobbi38

PS:
Wäre das Thema vielleicht im Unterforum "Access Programmierung" nicht besser aufgehoben?

Doming

Hallo,

natürlich habe ich Option Explicit drin.
Aber ich raff's immer noch nicht, wenn er mir die Sub DxAP_Click selber generiert, warum erkennt er den Namen DxAp dann nicht?

und zum PS: primär benötige ich Hilfe bei diesem Problem, die sonstige Programmierung steht ja schon ;)

Knobbi38

#3
Die VBE/Intellisense erkennt den Namen solange nicht, bis der Code fehlerfrei kompiliert werden kann (s.o.)
Kommentiere also die entsprechende Ereignisroutine aus und kompiliere deinen Code fehlerfrei. Danach kannst du wie gewohnt weiter machen.

PhilS

Zitat von: Doming am September 17, 2025, 14:42:06natürlich habe ich Option Explicit drin.
Das ist schonmal gut. Aber lässt sich dein Code auch erfolgreich kompilieren? Das ist ja der Schritt, an dem Option Explicit erst einen effektiven Unterschied macht.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Doming

das muss sich jetzt morgen zeigen, mir kam jetzt der wohlverdiente Feierabend dazwischen :-)
Ich bin gespannt auf den kleinen Pferdefuß, den ich mir da reingebaut habe.

markusxy


Beaker s.a.

Hallo Doming,

Was sind denn "Feld", "Objekt" und "Palette"?
Für mich sieht das so aus, als ob da nur die "=" fehlen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Doming

Hallo,

Feld, Objekt und Palette sind Prozeduren. Da die Dx-Klicks zum Teil gleiche Befehle aufrufen, habe ich sie in eigene Subs ausgelagert.

Um die Sache aufzulösen: Das Kompilieren hat mir jeden der DXe als Fehler angezeigt.
Nun habe ich einfach jedem Control seinen Namen nochmal identisch zugewiesen, jetzt läuft der Compiler durch.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Ich bin zu alt, um mich drüber aufzuregen, nun läuft es. Ich muss nicht alles verstehen.

Schönen Dank für Eure Aufmerksamkeit

Gruß
Doming


Doming

Von wegen! Der Zirkus geht weiter:
Wenn ich jetzt eine der Controls anklicke, bekomme ich diesen Fehler

Sie dürfen in diesem Board keine Dateianhänge sehen.

Kommentiere ich die Ereignisse aus, passiert, wie erwartet, gar nichts. Kein Fehler, keine Reaktion.

Sie dürfen in diesem Board keine Dateianhänge sehen.

Wenn ich jetzt aber nur die Befehle auskommentiere, bekomme ich die Fehlermeldung wie oben

Sie dürfen in diesem Board keine Dateianhänge sehen.

Die Haltepunkte werden nicht angesprochen.
Der Compiler meckert auch nicht.

Ich habe jetzt schon die Ereignisprozeduren der Controls gelöscht, danach komp&rep, neu gestartet, beim Klicken passiert nichts. Dann die Ereignisse wieder aktiviert, Ergebnis wie oben.

Doming

So!

weil da ja offenbar irgendwas im Code vergrützt war, habe ich das ganze Unterformular kopiert, das alte gelöscht, das Neue umbenannt und siehe da: Nun läuft es.

Es bleibt ein fader Beigeschmack, aber so weiß ich, dass auch mal irgendwo ein Bit quer liegen kann.

Knobbi38

Hallo Doming,

in solchen Fällen kann es hilfreich sein, wie Markus das in #6 auch schon vorgeschlagen hat, ein Decompile durchzuführen. 

Gruß Knobbi38