Moin Moin,
wenn ich deiner Überschrift glauben darf, hat es schon mal
funktioniert?
hat es jetzt schon mal funktioniert, oder nicht?
Das Formular kann auf zwei Arten aufgerufen werden mit einem
Button „Ändern“ und mit einem Button „Ansehen“.
das UFO oder das Hauptformular?
Bei ersteren funktioniert es, bei zweiteren nicht.
also „ändern“ ist möglich, gut
beim Sperren für „Anzeigen“ wird das Feld also mit gesperrt.
Im Hintergrund wird beim Klick auf einen der Buttons im Hauptmenü eine Variable belegt.
welche denn? und was passiert dann?
Anhand der Belegung werden dann alle Eingabefelder des
Hauptformulars auf .enabled = false und .locked = true
geschalten.
Moment, dein Problem ist doch das UFO? oder?
'Durchlaufschleife zum Deaktivieren aller Formularfelder
For Each ctl In Me.Controls
With ctl
Select Case .ControlType
Case acCheckBox, acComboBox, acListBox, acTextBox
Debug.Print .Name
.Enabled = False
.Locked = True
End Select
End With
Next ctl
eine schöne Standardschleife die zu hunderten im Internet zu finden sind, wichtig wäre WO diese Schleife WIE aufgerufen wird.
zum Testen: lösche mal acCheckBox
Im Unterformular werden auch zwei Buttons ausgeblendet, die
aber in der Fußleiste des Unterformulars sind,
WIE? denn das wäre wichtig, nicht die Schleife im Hauptmenü
während das besagte Filterfeld oben rechts ist.
Welche Darstellung hast du für das UFO gewählt?
Warum sind die Buttons nicht im Kopf des Formulars? (ich gehe davon aus, dass du ein Endlosformular benutzt)
Die aufgezeigte
Code-Schleife gilt also nur für das Hauptformular.
oh man(n) die ist so wichtig - für deine Problematik - wie der Reifendruck deiner Autoräder.
Wenn ich im Direktfenster die .enabled und
.locked-Eigenschaften der Checkbox des Unterformulars abprüfe,
dann passt es (true / false).
im Bearbeitungsmodus? = Holzweg
denn logisch, da werden die Standard - Voreinstellungen angezeigt, nicht was während der Ausführung passiert.
d.h. wenn du mit der Maus das Objekt anklickst oder die
Leertaste betätigst wird kein Kreuz angezeigt?
Genau so ist es. Wenn ich im hinterlegten Code zu _Click einen
Haltepunkt (F9 oder Stop) platziere, dann wird der Code auch
gar nicht aufgerufen, d.h. der Haltepunkt kommt nicht.
logisch, wenn das Feld deaktiviert ist
Welche Info kann ich dir noch geben?
z.B. die oben gestellten Fragen beantworten und den richtigen Code hier vollständig posten.
Grüße aus Rostock
Wolfgang
(Netwolf)