Checkbox nicht mehr auswählbar / anklickbar

Hallo,

ich habe in Access ein Formular mit Unterformular. In diesem Unterformular gibt es ein ungebundenes Checkbox-Feld, mit dem man den Inhalt des Unterformulars filtern kann. Dieses Checkbox-Feld kann ich aber nicht anklicken / auswählen, obwohl diese Art von Filtern in allen anderen Unterformularen funktioniert.

.Enabled ist auf true
.visible ist auf true
.locked ist auf false

Woran kann es noch liegen? Ich suche schon ewig nach einer Lösung…

Grüße

Stefan

Moin Moin,

wenn ich deiner Überschrift glauben darf, hat es schon mal funktioniert?

Dieses Checkbox-Feld kann ich aber nicht anklicken / auswählen,

d.h. wenn du mit der Maus das Objekt anklickst oder die Leertaste betätigst wird kein Kreuz angezeigt?

Welche Bezeichnung hat das Feld? Wurde ggf. ein reservierter Name verwendet?

obwohl diese Art von Filtern in allen anderen Unterformularen
funktioniert.

vergleiche nie in der EDV, beim Auto würdest du es auch nicht machen!

.Enabled ist auf true
.visible ist auf true
.locked ist auf false

ok, das ist ungefähr 0,1 % der Informationen die wichtig wären :frowning:
Bedenke, wir sind hier blind und sind auf deine Informationen angewiesen.

Woran kann es noch liegen?

sorry, das können wir hier nicht sehen, außerdem reichen deine Informationen nicht aus. Wir könnten raten, aber das macht keinen Spaß und nicht ziel führend.

Ich suche schon ewig nach einer Lösung…

löschen und neu machen ist häufig sinnvoller als stundenlang nach einer Lösung zu suchen.

Grüße aus Rostock
Wolfgang
(Netwolf)

wenn ich deiner Überschrift glauben darf, hat es schon mal
funktioniert?

Das Formular kann auf zwei Arten aufgerufen werden mit einem Button „Ändern“ und mit einem Button „Ansehen“. Bei ersteren funktioniert es, bei zweiteren nicht. Im Hintergrund wird beim Klick auf einen der Buttons im Hauptmenü eine Variable belegt.

Anhand der Belegung werden dann alle Eingabefelder des Hauptformulars auf .enabled = false und .locked = true geschalten.

'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

Im Unterformular werden auch zwei Buttons ausgeblendet, die aber in der Fußleiste des Unterformulars sind, während das besagte Filterfeld oben rechts ist. Die aufgezeigte Code-Schleife gilt also nur für das Hauptformular.

Wenn ich im Direktfenster die .enabled und .locked-Eigenschaften der Checkbox des Unterformulars abprüfe, dann passt es (true / false).

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.

Welche Bezeichnung hat das Feld? Wurde ggf. ein reservierter
Name verwendet?

Der Name ist „Filter_Storno“. Ich hab auch schon mal umbenannt… daran scheint es aber nicht zu liegen.

ok, das ist ungefähr 0,1 % der Informationen die wichtig wären

-(

Bedenke, wir sind hier blind und sind auf deine Informationen
angewiesen.

Welche Info kann ich dir noch geben?

löschen und neu machen ist häufig sinnvoller als stundenlang
nach einer Lösung zu suchen.

Bereits ausprobiert - gleiches Ergebnis.

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)

Hallo Netwolf,

erschrickst Du auch manchmal darüber, dass die Kommunikation in unterschiedlichen Internetforen so schnell so ranzig wird, obwohl die meisten kecken Kommentarschreiber vermutlich in Ihrem richtigen Leben zuvorkommende und freundliche Menschen sind?

Zu den Anmerkungen:

hat es jetzt schon mal funktioniert, oder nicht?

Wie gesagt funktioniert es mit „Ändern“, aber nicht mit „Ansehen“.

das UFO oder das Hauptformular?

Das Hauptformular mit darin enthaltenen Unterformular

also „ändern“ ist möglich, gut
beim Sperren für „Anzeigen“ wird das Feld also mit gesperrt.

Genau so ist es

welche denn? und was passiert dann?

Wie welche? Also heißen tut die nur bAnsehen bzw. bÄndern und es wird jeweils true oder false gesetzt, weil es globale Variablen des Typ Boolean sind.

Moment, dein Problem ist doch das UFO? oder?

Genau richtig. Aber das Unterformular hat kaum Code, der jetzt irgendwie was in die Richtung bewirken könnte. Die Ursache muss irgendwo anders liegen und ja wohl an den Variablen für Änderungsmodus oder Ansichtmodus liegen. Wie sollte es sonst sein… die Variablen wirken sich aber hauptsächlich im Hauptformular aus.

eine schöne Standardschleife die zu hunderten im Internet zu
finden sind, wichtig wäre WO diese Schleife WIE aufgerufen
wird.

Im Hauptformular bei „Load“, also gleich beim Laden und zwar nur dann, wenn die Variable bAnsehen auf true steht.

zum Testen: lösche mal acCheckBox

Ändert leider nichts

WIE? denn das wäre wichtig, nicht die Schleife im Hauptmenü

ButtonÄndern.Caption = "ansehen"
ButtonLöschen.Enabled = False
ButtonLöschen.Visible = False

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)

Es ist ein Endlosformular

im Bearbeitungsmodus? = Holzweg
denn logisch, da werden die Standard - Voreinstellungen
angezeigt, nicht was während der Ausführung passiert.

Nein, wenn das Formular ganz normal offen ist und man im Direktfenster mit debug.print den Status ausgeben lässt.

Hallo,

wie schwierig ist es eigentlich, den kompletten Formularmodul-Code sowohl des HF als auch des UF zu posten?

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.

Das deutet auf den fehlenden Eintrag [Ereignisprozedur] der entspr. Ereignis-Eigenschaft hin, sofern das betr. Steuerelement aktiviert ist.

Irgendwo im Code wird wohl die Enabled, bzw. Locked-Eigenschaft dementsprechend eingestellt oder evtl. auch nicht wieder zurückgestellt.

Weitere Möglichkeit ist, dass das Ding schon in der Entwurfsansicht auf gesperrt steht.

Gruß
Franz, DF6GL

ot: Checkbox nicht mehr auswählbar / anklickbar
Moin Moin,

erschrickst Du auch manchmal darüber, dass die Kommunikation
in unterschiedlichen Internetforen so schnell so ranzig wird, …

nein ich erschrecke nicht, denn das ist ganz normal. Im letzten Kommunikations-Seminar vor zwei Wochen haben wir genau das analysiert.

Bei Interesse kannst du dich in das Thema einlesen. Beginne mit „Bausteine der Kommunikation“ und dann schau dir auch mal das „Eisbergmodell“ an.(einfach mal googeln)

Bedenke wir sind Menschen (mit allen subjektiven Fehlern). Wir reagieren nur zu ca. 10% rational aber zu ca. 90% emotional.

Da nach und nach die Emotionen in Form von z.B. Smileys in der Internetkommunikation wegfallen (weil kindisch, überflüssig etc.)
ließt man den Text immer mit der eigenen aktuellen Emotion und dem eigenen Wissenshorizont. Fehlinterpretationen bzw. Missverständnisse sind also vorprogrammiert.

Mit der SMS-Generation ist es leider noch schlimmer geworden. :frowning:

Meiner Meinung nach fangen die Probleme schon mit der Ursprungs-Frage an. Hier mal ein Link dessen Ursprungsdokument aus dem Jahre 2001 stammt: http://www.tty1.net/smart-questions_de.html

btw dieses Thema wird immer mal wieder im ALK-Brett ausführlich und emotional diskutiert.

Grüße aus Rostock
Wolfgang
(Netwolf)