Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bedingte Formatierung VBA Access nach Klick

Begonnen von Chrissi, Mai 22, 2017, 10:38:06

⏪ vorheriges - nächstes ⏩

Chrissi

Hallo Access-Profis,

ich habe folgende Frage:

In einem Textfeld habe ich über den Menübefehl "bedingte Formatierung" die Hintergrundfarbe eingefärbt (weil Pflichtfeld). Hier der Befehl: IstNull([txtA]) - Hintergrundfarbe rot. Das klappt auch wunderbar. Wenn was drin steht wir der Hintergrund weiß. Ansonsten bleibt das Textfeld rot. Super.
Jetzt folgendes: nachdem alle Pflichtfelder ausgefüllt sind wird der Benutzer auf die Schaltfläche "Daten übernehmen" klicken. Daten werden übergeben und automatisch werden die Felder wieder geleert - ABER diese bleiben jetzt weiß und die bedingte Formatierung ist weg.

Wie kann ich das Regeln, dass nach der Übergabe der ausgefüllten Textfelder und nach leeren dieser (Me.txtA.Value = "") auch wieder automatisch die bedingte Formatierung greift und die Hintergrundfarbe wieder rot ist.

Es geht darum, dass der Benutzer mehrmals die Textfelder füllt und übergeben soll.

Ich danke Allen und einen stressfreien Tag.

Grüße

MzKlMu

Hallo,
ein Feld dem man "" zuweist ist nicht leer, sondern enthält einen Leerstring. Das heißt, die Funktion IsNull() ist hier wirkungslos.
Die Felder müssen durch Zuweisung von Null geleert werden.
ZitatMe.txtA = Null
Value kann entfallen.

Warum verwendest Du kein gebundenes Formular ?
Dann sind bei einem neuen Datensatz automatisch die Felder leer (Null).
Auch die Übergabe der Daten erfolgt bei einem gebunden Formular automatisch, nur die Datenvalidierung ist notwendig, aber die ist bei einem ungebundenen Formular auch notwendig.
Gruß Klaus

Chrissi

Danke Klaus für Deine Meldungen. Immer schnell und informativ. Es klappt auch soweit.

Mein letztes Problem ist, soweit ich das sehe, dass nach Datenübergabe die bedingte Formatierung gelöscht (!) ist. Gibt es denn nicht die Möglichkeit, ein Textfeld so zu generieren, dass wenn das Feld leer ist rot eingefärbt wird. Wenn dann etwas eingetragen wird, wird das Feld weiß (mit Text oder Zahl). So wird auch der Wert an die Tabelle übergeben. Jetzt ist aber das vorher "rote" leere Feld zwar wieder leer aber bleibt weiß und die Formatierung ist weg.Wie kann ich per VBA so eingreifen, dass nach Übergabe der Daten, der Zustand hergestellt wird wie vor der Übergabe der Daten inkl. bedingter Formatierung?

Danke Euch und Klaus

MzKlMu

#3
Hallo,
wie werden die Daten übergeben und wie werden jetzt die Felder geleert ?

Und noch mal die Frage, warum verwendest Du kein gebundenes Formular ?
In einem gebundenen Formular müssen keine Felder geleert werden, ein neuer Datensatz ist da immer leer, automatisch.
Gruß Klaus

Chrissi

Hallo Klaus,
statt zu überlegen, was man in so ein Forum schreibt, sollte man lieber mal klar denken und nachvollziehen was von den Profis geschrieben wird.

Hab natürlich das Problem ganau so geregelt, wie du es geschrieben hast. Super. Ich danke Dir und Sorry. Manchmal....

MzKlMu

Hallo,
und wie hast Du es jetzt geregelt, per gebundenem Formular oder durch Zuweisung von NULL ?
Gruß Klaus

Chrissi

Hallo Klaus,

ich habe es über das gebundene Formular gemacht. Geht das eigentlich auch über mehrere Tabellen, die nicht miteinander verknüpft sind (nur aus Interesse)?
Und ich konnte in dem Fall auch die Zuweisung von Null umgehen. Das mit Zuweisung Null möchte ich aber auch mal austesten. Danke Dir nochmal.

Lachtaube

Mehrere untereinander nicht verknüpfte Tabellen (das gilt auch für Abfragen) lassen sich in einem Formular nur (optional eine der Tabellen) im Haupt und (mehrere) in Unterformularen nebeneinander darstellen. Die Bedingte Formatierung ist davon unabhängig - ob es jedoch sinnvoll ist, sich so ein Formular anzulegen, muss der Entwickler selbst einschätzen.
Grüße von der (⌒▽⌒)

Chrissi