Hallo Leute,
Ich habe irgendein Problem im VBA Code.
In meinen Formular habe ich zwei Kontrollkästchen einmal für Verschrottet und für Verkauft. Was auch für ein Kontrollkästchen klappt. Wenn Verschrottet markiert wird erhält man einen Roten Balken auf dem Formular, das geht auch.
Jetzt mein Problem
Jetzt wollte ich das für Verkauft auch so machen, und schon tritt das Problem auf.
Der Code steht im Formular Eigenschaften unter beim Anzeigen drin
Private Sub Form_Current()
'Schaltet den Balken wieder aus
Me.RoterBalken.Visible = Me.Verschrottet
Me.RoterBalken.Visible = Me.Verkauft
'Verhinder das zurück setzen der Auswahl und Änderungen vor zunehmen
'Me.AllowEdits = Not Me.Verschrottet
'Unterdrückt das Datums Feld
Me!Text85.Visible = False
End SubJetzt reagiert aber nur noch Verkauft mit den Roten Balken, wenn jetzt eine Anweisung rausgenommen wird klappt das wieder wunderbar. Ich schätze mal das der Code nicht richtig läuft.
Kann mir da mal einer Helfen wie ich den Code ändern muss damit das für beide Felder klappt.
Wenn nur eine Auswahl im Code drin steht kann man die Formulare durch blättern. Und was halt im Formular markiert ist reagiert auch der Rote Balken.
Habe da noch den Code für das Ausschalten oder Unterdrücken des Roten Balken im Formular.
Und der Code steht im Kontrollkästchen Eigenschaften nach Aktualisierung
Private Sub Verkauft_AfterUpdate()
'Schaltet den Balken ein
Me.RoterBalken.Visible = Me.Verkauft
Me!Text85.Visible = True
End Sub
Ich bedanke mich schon mal für eure Antworten
Hallo,
ZitatIch schätze mal das der Code nicht richtig läuft.
Der Code läuft prächtig.
Wenn Du dies
ZitatMe.RoterBalken.Visible = Me.Verschrottet
Me.RoterBalken.Visible = Me.Verkauft
nochmal genau nachvollziehst, dann wird Dir sicher auch klar, was hier passiert....
Morgen DF6GL,
Ich Danke dir für die schnelle Antwort von dir.
Und die Aussage das der Code prächtig läuft ist ja schon mal Beruhigend. Nur was jetzt hier so richtig passiert ist mir nicht klar. So Fit in VBA bin ich leider nicht das mir gleich auffällt was da nicht so ganz richtig ist am
Code.
Was der Code machen soll das ist mir klar. Er soll den Roten Balken ausschalten wenn weder Verschrottet oder Verkauft ausgewählt ist. Wie gesagt wenn ich in dem Code nur eins habe geht es ja auch, nur bei Beide nicht.
Hallo,
ZitatNur was jetzt hier so richtig passiert ist mir nicht klar.
naja: Der Balken wird rot, wenn Me.Verschrottet oder Me.Verkauft true sind. Und dabei bleibt es dann aber auch.
Nirgends ist definiert, was passieren soll, wenn die beiden Felder oder auch nur eines seinen Zustand ändert (bei Wechsel auf einen anderen Datensatz)
ZitatEr soll den Roten Balken ausschalten wenn weder Verschrottet oder Verkauft ausgewählt ist
das muss "ihm" halt auch gesagt werden... ;)
Hallo DF6GL,
Das Grund Prinzip ist mir schon klar gewesen.
Wenn ich nur ein Befehl in der Sub Anweisungen habe sagen wir Mal Verschrottet und das kontrollkästchen von Verschrottet markiere wir der Rote Balken angezeigt. Blätter ich jetzt zum nächsten Datensatz und Verschrottet ist nicht markiert schaltet sich der Rote Balken aus.
Wie gesagt wenn ich die zweite Anweisungen in der Sub schreibe und geht das mit den Balken nicht mehr so Richtig.
Also gehe ich davon aus das in der Sub Anweisungen irgendwas nicht richtig ist.
Hallo,
nein, an der Logik ist etwas falsch...
Beschreibe mal, bei welche Zuständen der KKs der Balken sichtbar sein soll und bei welchen nicht.
verschrottet verkauft sichtbar
Nein Nein ?
Ja Nein ?
Nein Ja ?
Ja Ja ?
Ersetze die Fragezeichen durch Ja oder Nein, je nachdem wie es sein soll.
Hallo,
Wenn kein kk gesetzt ist soll der Rote Balken aus sein.
Wenn Verschrottet kk gesetzt ist soll der Rote Balken an sein.
Wenn verkauft kk gesetzt ist soll der Rote Balken an sein.
Beide kk zusammen wird eigentlich nicht benutzt.
Hallo,
Zitat von: undefinedBeide kk zusammen wird eigentlich nicht benutzt.
Eigentlich wäre das ein typischer Anwendungsfall für eine Optionsgruppe, denn es braucht keine 2 KK, ein Zahlenfeld reicht (1=Verkauft, 2=Verschrottet). Bei einer Optionsgruppe kann immer nur ein Zustand gewählt werden. Was ja hier ausreicht, entweder verschrottet oder verkauft. Steht kein Wert im Feld trifft keins von beiden zu. Und ein Tabellenfeld wird auch noch eingespart.
Und dann reicht ganz einfach:
Me.RoterBalken.Visible = Nz(Me.NameOptGruppe,0) >= 1
Hallo MzKIMu,
Hallo DF6GL,
habe mein Problem mit eurer Hilfe gelöst.
Den Roten Balken habe ich komplett raus genommen. Habe einfach bei dem Kontrollkästchen
ein Textfeld für ein Datum angehängt. Wenn das Verkauf Kontrollkästchen markiert wird muß der User auch
ein Datum eingeben. Und das lese ich dann mit einer Abfrage aus, und Schreibe es in eine neue Tabelle.
Somit werden die Daten nicht gelöscht.
Danke euch beibe für eure Anregungen und Antworten
Hallo Uwe,
ZitatHabe einfach bei dem Kontrollkästchen ein Textfeld für ein Datum angehängt.
Das mit dem Datumsfeld lag mir sofort auf der Zunge (hab's leider erst heute gelesen).
Mit dem Datumsfeld werden die Checkboxen allerdings obsolet. Denn die Antwort auf die
die Frage
ob, ist in der Antwort
wann ja impliziert.
gruss ekkehard