Neuigkeiten:

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

Mobiles Hauptmenü

Unterformulare und bedingte Formatierung

Begonnen von BigFish, Juli 20, 2010, 19:39:46

⏪ vorheriges - nächstes ⏩

BigFish

Hallo,
ich verwende Endlos-Formulare mit bedingter Formatierung(Ausdruck), um Zeilen beim markieren farbig zu hinterlegen

Private Sub Form_Current()
Me!AktuelleID = Me!ID_Banane
End Sub


Das funktioniert, aber bei mehreren Unterformularen habe ich das Problem, dass immer mehrere Zeilen gleichzeitig markiert sind. Ich würde es bevorzugen, wenn immer nur in dem Endlos-Formular, welches zuletzt angeklickt wurde, die Zeile farbig hinterlegt wird.
Kann mir jemand sagen wie das funktionieren könnte?
Gruß,
BigFish

database

#1
Hallo,

Zitatmit bedingter Formatierung(Ausdruck), um Zeilen beim markieren farbig zu hinterlegen
...wobei mir nicht ganz klar werden will welche Bedingung dabei erfüllt werden muss... ??

Auch wenn ich mich sehr bemühe verstehe ich nicht ganz, was dein Code bewirkt - ausser dass dasFormular, in dem dieses Ereignis (Beim Anzeigen) stattfindet ein Feld namens AktuelleID enthalten ist, dessen Feldinhalt du beim Anzeigen des Formulars mit einem anderen Wert überschreibst.

Nun ist es so, dass in einem Access-Formular mit mehreren Unterformularen eigentlich immer nur der zuletzt angeklickte Datensatz eines Unterformulars markiert wird. Wenn zuvor ein Datensatz in einem anderen Unterformular markiert war, wird diese Markierung entfernt - automatisch!
Allerdings halt nur wenn man mit dem Datensatzmarkierer arbeitet.

Wenn du nun beim Anklicken eines Datenfeldes im Unterformular einen Code ausführst, der dann alle Felder des Datensatzes einfärbt, musst du diese Aktion beim Anklicken eines Datensatzes in einem anderen Unterformular genauso wieder rückgängig machen - und das natürlich in allen anderen Unterformularen bis auf das aktuell angeklickte.
So könnte ich mir vorstellen, dass du jene Bedingung, die schließlich zum Einfärben geführt hat, egalisierst.

Grüße
Peter

BigFish

Hallo,

ich wollte mit dem Code nur zeigen, mit welchem grundsätlichen Ansatz ich eine Zeile per Mausklick einfärbe: Wenn die Zeile markiert ist, wird der Feldinhalt mit der aktuellen Datensatz-ID überschrieben. Dadurch kann ein Ausdruck in der bedingten Formatierung([ID_Banane]=[aktuelleID]) die Zeile einfärben.

Ich habe zwei Endlosformulare in Formularansicht, die wie Tabellen-Spalten nebeneinander stehen und beide mit dem Hauptformular verknüpft sind. Bei beiden Formularen habe ich ganz links eine Spalte mit einem kleinen Dreieck. Dieses Dreieck ist bei mir stets neben allen Spalten zu sehen, auch wenn diese gar nicht markiert sind. Ist das bei Dir anders? Ich finde das ehrlich gesagt inakzeptabel. Irgendwie werde ich mit Access nicht warm...wenn ich nur eine Ergebnis-Zeile pro Spalte habe, wird Private Sub Form_Current() nicht ausgeführt! Erst ab zwei Zeilen und dem Wechsel der Zeile scheint die Sub durchlaufen zu werden(getestet mit MsgBox). Ich habe es jetzt mit dem Doppelklick hinbekommen, allerdings muss man jetzt dieses kleine Feld mit dem Dreieck treffen, um die Zeile zu markieren. Ständig gibt es bei Access derartige Fallstricke und Hürden. Irgendwann bekomme ich noch den Eindruck, dass Microsoft das mit Absicht macht. Ständig lese ich im Internet von Workarounds, um ganz banal erscheinende und in anderen Office-Anwendungen funktionierende(!) Funktionen in Access nachzubilden. Und das nach so vielen Jahren Entwicklungsarbeit. Naja, genug gemeckert!  ::)

Es geht eigentlich nur darum, dass ich zwei Spalten mit einer variablen Anzahl an Ergebnissen habe, wobei aus einer der beiden Spalten ein Datensatz(=eine Zeile bestehend aus mehreren Feldern) angeklickt werden soll, der dann seine ID und noch ein paar Felder an ein anderes Hauptformular übergeben soll. Wichtig ist dabei aber, dass es leicht zu bedienen ist: Also ordentlich Kontrast, möglichst keine kleinen Schaltflächen und nur das notwendigste erlauben(also gar nichts außer Linksklick auf die vorgesehenen Schaltflächen). In der Datenblattansicht kann man z.B. die Spaltengröße verstellen und Access merkt sich das auch noch! Was die Formatierung angeht, ist die Datenblattansicht ebenfalls ziemlich beschränkt. Daher habe ich die Endlosformulare in Formularansicht gewählt. Falls Du einen Vorschlag hast, wie man das Ganze eleganter lösen kann, immer her damit...

Gruß, BigFish

oma

Hallo,

aus deinen 2. Beitrag verstehe ich nur Bahnhof?

Aus den ersten entnehme ich, dass du in einem Unterformular in einem DS ein Feld anklicken willst u. dann sollen alle Felder des DS farbig markiert sein.

wenn dem so ist, kannst du folgenden Lösungsansatz benutzen:

1. in jedem Feld des Formulars erstellst du eine bedingte Formatierung mit:
Ausdruck ist   ID=99999999    und eine bestimmte Farbe
(hierbei ist 99999999 eine beliebige Zahl, die in deiner DB die ID niemals annehmen wird)

2. Für das Ereignis: Beim Anzeigen erstellst du folgenden Code:

Private Sub Form_Current()
   Me!ID.FormatConditions(0).Modify acExpression, acEqual, "ID=" & Me!ID
   Me!Feld1.FormatConditions(0).Modify acExpression, acEqual, "ID=" & Me!ID
   Me!Feld2.FormatConditions(0).Modify acExpression, acEqual, "ID=" & Me!ID
   ...
End Sub


Damit änderst du die Bedingte Formatierung für die Felder in der Weise, dass die Bedingung immer für die aktuelle ID stimmt!!

Gruß Oma
nichts ist fertig!

BigFish

Hallo OMA,

nochmal zum Verständnis:
Ich habe ein HFO und dort 2 UFOs. Jedes UFO ist über die aktuelle Datensatz-ID des HFO verknüpft und hat seine eigene Abfrage, in der ein bestimmtes Kriterium variiert. Die UFOs sind wie Spalten nebeneinander angeordnet, in jeder Spalte gibt es zwischen 1 und sagen wir mal 15 Ergebnissen(ein paar Felder pro Zeile).

Weil Du den Bahnhof erwähnt hast: Im HFO wähle ich Schüler und Betreuer aus, in den UFOs die Sprechstunde. Es gibt mehrere UFOs, weil ein Betreuer an mehreren Tagen zu verschiedenen Zeiten Sprechstunden gibt(momentan habe ich zum Testen 2 Tage bzw. zwei UFOs erstellt). Die Sprechstunden sind in einer separaten Tabelle hinterlegt, wobei jedes UFO diese Tabelle abfragt und mit einem Kriterium(z.B. Montag) vergleicht. Die jeweils an einem Tag möglichen Sprechstunden werden dann mit der BetreuerID im HFO verknüpft und nach Uhrzeit sortiert in der jeweiligen Spalte(Montag, Dienstag,...) dargestellt. Ich möchte anschließend EINE Sprechstunde auswählen können und mit einem Klick auf einen Button ein anderes Formular aufrufen. Scheint auch soweit zu funktionieren, aber das kommt mir wegen der ganzen Stolpersteine und Workarounds vor wie "von hinten durch die Brust ins Auge"!

Zu deinem Code:
Wie man die bedingte Formatierung zum markieren einer Zeilen einsetzt, hatte ich ja bereits herausgefunden(es gibt offensichtlich mehrere Wege die zum Ziel führen, einer davon ist Deiner, der mir bei meinen Recherchen auch schon begenet ist). Mein Problem ist, dass das Ereignis Current(also das worauf auch Deine Lösung basiert) bei nur einer Zeile pro Spalte bei mir nicht funktioniert! Wenn ich die einzige vorhandene Zeile im UFO anklicke, wird die Sub einfach nicht durchlaufen. Daher habe ich das jetzt ja auch mit dem Ereignis DblClk gelöst, die auch bei nur einer Zeile pro Spalte funktioniert. Dafür kann man nicht mehr komfortabel mitten in die Felder klicken, um die Zeile zu markieren. Mich würde mal interessieren, ob das mit der Current-Methode bei euch funktioniert, wenn in einem Endlosformular in der Formularansicht nur ein Datensatz als Ergebnis vorliegt...

Gruß, BigFish

oma

Hallo,

mit meiner Methode klappt das auch mit einem DS, denn beim Öffnen des Formulars wird das Ereignis "Beim Anzeigen"  wirksam.

bei 2 Unterformulare musst du allerdings dann im Hauptformular folgendes Ereignis nutzen:

Private Sub DeinUnterformular1_Exit(Cancel As Integer)
Me!DeinUnterformular1.Form!ID.FormatConditions(0).Modify acExpression, acEqual, "PNr=99999999"
Me!DeinUnterformular1.Form!Feld1.FormatConditions(0).Modify acExpression, acEqual, "PNr=9999999"
   ....
End Sub


gleiches mit Unterformular2, so dass beim Cursor-Wechsel in ein anders Unterformular die Formatierung im verlassenen Unterformular rückgängig gemacht wird.

Gruß Oma

nichts ist fertig!

database

Guten Morgen,

Da oma's Code die Erfordenisse abdeckt ein paar grundsätzliche Bemerkungen von meiner Seite:
ZitatDieses Dreieck ist bei mir stets neben allen Spalten zu sehen, auch wenn diese gar nicht markiert sind
OK, das haben alle, nicht nur du - und dieses für dich inakzeptable Ding nennt sich Datensatzmarkierer, den man - wenn man ihn nicht sehen will über die Formulareigenschaften komfortabel ausblenden kann.

Zitatwenn ich nur eine Ergebnis-Zeile pro Spalte habe, wird Private Sub Form_Current() nicht ausgeführt
Ich denke, dass das schon in Ordnung ist, denn die Anzahl der Datensätze hat nichts mit dem Formularereignis 'Beim Anzeigen' zu tun.
ZitatWenn ich die einzige vorhandene Zeile im UFO anklicke, wird die Sub einfach nicht durchlaufen
und welches Ereignis hast du dabei ausgelöst? Form_Current nicht - das Formular wird ja unverändert angezeigt!
Wenn du den inakzeptablen Datensatzmarkierer anklickst sollte das Click-Ereignis des Formulars greifen. Hierbei kannst du bequem die ID des aktuellen Datensatzes auslesen ...
oma hat hierzu ja schon den richtigen Ansatz geliefert --->   beim Öffnen des Formulars wird das Ereignis "Beim Anzeigen"  wirksam

Zitatder dann seine ID und noch ein paar Felder an ein anderes Hauptformular übergeben soll.
Also gehe ich davon aus, dass HAFo und UFo-Datensätze über eine ID miteinander in Beziehung stehen.
Dieses sollte auch die zu Grunde liegenden Tabellen tun - nach meinem Verständnis.
Wenn du nun aber ein ID-Feld im Unterformular mit einem dir angenehmen Wert überschreibst und Access dich nicht gottsfürchterlich anmeckert, kann da was nicht stimmen.
Referentielle Integrität würde nämlich dieses in gebundenen Formularen strikt verbieten ...

Zitataber das kommt mir wegen der ganzen Stolpersteine und Workarounds vor wie "von hinten durch die Brust ins Auge"!
Somit komme ich zu einem möglicherweise unerwarteten Ergebnis - Microsoft trifft keine Schuld - meist sind nicht zureichende Kenntnisse die Gründe für ein Nichtfunktionieren.
Bitte das nicht als Rüge aufzufassen sondern als anspornende Kritik - wie in einer Sprechstunde.  ;D




BigFish

#7
Guten Morgen!

Zitat von: oma am Juli 21, 2010, 01:03:30
mit meiner Methode klappt das auch mit einem DS, denn beim Öffnen des Formulars wird das Ereignis "Beim Anzeigen"  wirksam.

Ja, mit nur einem DS wird beim Öffnen des Formulars natürlich der vorhandene Datensatz markiert, soweit ist mir das schon klar! Das klappt auch mit der von mir verwendeten Methode...

Zitat von: oma am Juli 21, 2010, 01:03:30
bei 2 Unterformulare musst du allerdings dann im Hauptformular folgendes Ereignis nutzen:

...

gleiches mit Unterformular2, so dass beim Cursor-Wechsel in ein anders Unterformular die Formatierung im verlassenen Unterformular rückgängig gemacht wird.

Ehrlich gesagt verstehe ich nicht, wie mir das bei meinem Problem helfen soll: Verlassen wir doch mal die Welt der bedingten Formatierung und formulieren mein Problem um: Beim Klicken in eine beliebige Zeile soll eine MessageBox erscheinen. Hierzu habe ich in jedem UFO im Ereignis "Beim Anzeigen" einen MsgBox-Befehl. Beim Öffnen des HFO wird dann auch brav für jedes UFO eine Message-Box gezeigt. Wenn ich in einem UFO die Zeile wechsel wird mir prompt die MessageBox für dieses UFO gezeigt. Funtioniert also ebenfalls!

Was aber nach wie vor NICHT funktioniert ist folgendes: Ich klicke abwechselnd in beiden UFOs immer die bereits markierten Spalten(also da wo der DS-Markierer zu sehen ist) an. Dann erscheint keine Message-Box, ergo wird das Ereignis "Beim Anzeigen" in diesem Fall nicht durchlaufen. Ich dachte erst, dass es ein Problem mit nur einem DS pro UFO ist, es handelt sich aber um ein Problem mit bereits markierten Datensätzen. Ganz egal wie viele DS ich pro Spalte bzw. UFO habe. Ehrlich gesagt verstehe ich nicht ganz, wie mir da das Exit-Ereignis helfen soll? Ich habe mal Testweise in das Exit-Ereignis eine MsgBox programmiert und musste feststellen, dass bei dem von mir beschriebenen Auswählen von bereits markierten DS KEINE MessageBox beim Wechsel der Formulare erscheint. Das Exit-Ereignis wird bei dem von mir beschriebenen Szenario meiner Ansicht nach also gar nicht erst ausgelöst! Hast Du das von mir beschriebene Vorgehen mit dem Wechsel zwischen zwei zuvor ausgewählten DS in UFOs(einfacher Test ob die Ereignisse stattfinden) mal selbst ausprobiert?

********************

Zitat von: database am Juli 21, 2010, 07:24:04
OK, das haben alle, nicht nur du - und dieses für dich inakzeptable Ding nennt sich Datensatzmarkierer, den man - wenn man ihn nicht sehen will über die Formulareigenschaften komfortabel ausblenden kann.

Ich will ja nur das Dreieck weghaben, weil es bei mehreren Spalten einfach für Verwirrung beim Anwender sorgt, wenn überall Datensätze mit einem Marker versehen sind. Wenn ich den Datensatzmarkierer auf Nein stelle, ist ja nicht nur das Dreieck, sondern der ganze Markierer weg...

Zitat von: database am Juli 21, 2010, 07:24:04
ZitatWenn ich die einzige vorhandene Zeile im UFO anklicke, wird die Sub einfach nicht durchlaufen
und welches Ereignis hast du dabei ausgelöst? Form_Current nicht - das Formular wird ja unverändert angezeigt!

DAS ist ja genau mein Problem! Ich benötige ein Ereignis, welches bei jedem Klick in eine beliebige Zeile ausgelöst wird(siehe mein Beispiel MsgBox!)! Dann könnte ich in jedem UFO den Wert des ID-Textfeldes nullen und anschließend über Me. das aktuelle ID-Feld versorgen.
Wenn ich so ein Ereignis kennen würde, was in jeder Zelle jedes UFOs ausgelöst wird, wäre mein Probleme gelöst...

Zitat von: database am Juli 21, 2010, 07:24:04
Wenn du den inakzeptablen Datensatzmarkierer anklickst sollte das Click-Ereignis des Formulars greifen. Hierbei kannst du bequem die ID des aktuellen Datensatzes auslesen ...
oma hat hierzu ja schon den richtigen Ansatz geliefert --->   beim Öffnen des Formulars wird das Ereignis "Beim Anzeigen"  wirksam

Irgendwie werde ich das Gefühl nicht los, dass wir leicht an einander vorbeireden: Ich hatte ja bereits geschrieben, dass ich das Problem mit Hilfe des Datensatzmarkierers(Doppelklick anstatt Einfachklick) gelöst hatte. Natürlich ist es etwas einfacher, nur einmal anstatt zweimal zu klicken(habe ich bereits geändert). Aber dieser Datensatzmarkierer ist objektiv betrachtet einfach zu fummelig: Es ist ein gewaltiger Unterschied, ob ich einen Datensatz mit einem sehr schmalen Mini-Rechteck markieren muss, oder ob ich die gesamte Breite des DS als Klickfläche zur Verfügung habe.

Zitat von: database am Juli 21, 2010, 07:24:04
Zitatder dann seine ID und noch ein paar Felder an ein anderes Hauptformular übergeben soll.
Also gehe ich davon aus, dass HAFo und UFo-Datensätze über eine ID miteinander in Beziehung stehen.
Dieses sollte auch die zu Grunde liegenden Tabellen tun - nach meinem Verständnis.
Wenn du nun aber ein ID-Feld im Unterformular mit einem dir angenehmen Wert überschreibst und Access dich nicht gottsfürchterlich anmeckert, kann da was nicht stimmen.
Referentielle Integrität würde nämlich dieses in gebundenen Formularen strikt verbieten ...

Ich überschreibe ja kein ID-Feld in einer Tabelle! Ich ändere lediglich den Wert eines Feldes innerhalb des UFOs, das keinen rückwärtigen Bezug zu der Tabelle hat. Es ist ein Hilfs-Feld für die bedingte Formatierung, welches per Ereignis mit der aktuellen Datensatz-ID aus einer Tabelle gefüttert wird, nicht umgekehrt!

Zitat von: database am Juli 21, 2010, 07:24:04
Zitataber das kommt mir wegen der ganzen Stolpersteine und Workarounds vor wie "von hinten durch die Brust ins Auge"!
Somit komme ich zu einem möglicherweise unerwarteten Ergebnis - Microsoft trifft keine Schuld - meist sind nicht zureichende Kenntnisse die Gründe für ein Nichtfunktionieren.
Bitte das nicht als Rüge aufzufassen sondern als anspornende Kritik - wie in einer Sprechstunde.  ;D

Keine Sorge, meinen Humor habe ich noch nicht verloren und das Ei möchte auch nicht unbedingt schlauer sein als die Henne! ;D Aber ist es denn so vermessen, von einem über Jahrzehnte gewachsenen Datenbank-Programm wie Access zu erwarten, dass man unterschiedliche Such-Ergebnisse der übersichtlichkeit halber in nebeneinander angeordneten Spalten anordnen kann und die Datensatz-Auswahl dann Exklusiv-Oder-Verknüpft? Oder das man lieber die ganze Zeile anklicken würde anstatt eine fummelige Mini-Schaltfläche? Also jetzt ohne VBA-Verrenkungen, genau das erwarte ich eigentlich von einem modernen Datenbank-System...Wenn man das Feld für den Datensatzmarkierer wenigstens breiter machen könnte...

Ich bin zwar Access-Anfänger(mit SLQ- und Programmier-Vorkentnissen), aber ich habe genug Erfahrung mit Menschen, die diese Anwendungen hinterher bedienen müssen, um Dir sagen zu können: Diese Mini-Schaltfläche links neben dem Datensatz ist aus Anwender-Sicht einfach Käse! Da werde ich als erstes gefragt, warum man nicht einfach irgendwo auf einen Datensatz klicken kann, um diesen zu markieren, so wie es bei Programm XY der Fall ist...und dann erzähle ich etwas von Ereignissen, Prozeduren, VBA, Microsoft... ;D

Aber ich will nicht ausschließen, dass ich gerade ein riesiges Brett vor dem Kopf habe und die Lösung ganz nahe liegt.

Euch beiden schon mal ein herzliches Dankeschön für eure Mühe, ich bin ja nicht gerade Pflegeleicht...  ;)

BigFish

database

Hi,

geht nicht um Pflegeleichtigkeit, passt schon....
ZitatWenn ich den Datensatzmarkierer auf Nein stelle, ist ja nicht nur das Dreieck, sondern der ganze Markierer weg...
...was ja auch wieder logisch erscheint, da das Dreieckchen auf der Leiste liegt und kein eigenständiges Objekt darstellt.

ZitatDa werde ich als erstes gefragt, warum man nicht einfach irgendwo auf einen Datensatz klicken kann, um diesen zu markieren, so wie es bei Programm XY der Fall ist
Tja und da ist es ja auch nicht anders - auch in anderen Programmen löst du ja mehr oder weniger ein Ereignis aus - du Klickst etwas an und das Programm reagiert darauf.

Es gäbe da vielleicht auch die Möglichkeit statt den Unterformularen Datagrids zu verwenden - also Möglichkeiten gibts sicher genug.
Dass - wie du schreibst - gewisse Dinge, die DU erwartest nicht in Access verfügbar sind - tja ...   zeig mir bitte mal eine Entwicklungsumgebung, die alles das enthält das ICH erwarte :(
Es ist halt wie vieles auch hier immer wieder eine Frage der verfügbaren Zeit um eine Entwicklung so zu gestalten, dass sie allen Ansprüchen genügt. Und nicht nur Zeit sondern natürlich auch Kenntnis der verfügbaren Möglichkeiten.

Schöne Grüße

Peter

oma

Hallo,

warum sollten wir den den Humor verlieren ;)

aber ich verstehe immer noch nicht, was du permanent von den Datensatzmarkierer-Dinger erzählst, lass die doch einfach links liegen ;D

wenn du 2 Unterformulare hast u. willst beim klicken in ein beliebiges Feld  eines UF den jeweiligen DS (d.h. dann alle Felder) farbig markieren, dann kannst du mein kleines Beispiel mal probieren

Gruß Oma

[Anhang gelöscht durch Administrator]
nichts ist fertig!

BigFish

Hallo OMA,

ich habe Dein Beispiel ausprobiert und es funktioniert genauso wenig wie meins...  ;D

Wenn ich im linken UFO auf Schmidt klicke wird der DS im linken UFO markiert, OK
Wenn ich im rechten UFO auf Schulz klicke, wird der DS im rechten UFO markier, OK
Wenn ich jetzt jedoch wieder auf der linken Seite auf Schmidt klicke, wird der DS im linken UFO nicht mehr markiert -> Problem!
Genauso auf der anderen Seite...wenn ich den DS anklicke, der zuletzt markiert war, funktioniert die Markierung bei mir nicht mehr.

Gruß, BigFish

oma

Hallo,

tatsächlich, habe soll einen Fall garnicht probiert, mal sehen ob mir noch was einfällt?

Gruß Oma
nichts ist fertig!

oma

Hallo Big,

anbei mal eine Lösung, etwas aufwendiger, aber so sollte es gehen.

Gruß Oma

[Anhang gelöscht durch Administrator]
nichts ist fertig!

BigFish

Hallo OMA,

ganz herzlichen Dank für Deine Mühe, ich habe mir das Beispiel eben runtergeladen und muss sagen: Perfekt!
Da ich heute ziemlich platt bin(Arbeit), werde ich mir Deine Prorammierung morgen vormittag mal etwas genauer ansehen und dann noch eine Rückmeldung geben.

Herzlichen Dank und viele Grüße,
BigFish

BigFish

Hallo OMA,

ich habe mir heute die von Dir in Deiner Lösung verwendete Methode "FormatConditions.Modidy" näher angesehen:

http://msdn.microsoft.com/en-us/library/bb238002%28office.12%29.aspx

Nur nochmal zum Verständnis:
- Du checkst beim Click auf eine beliebige Zelle für jedes Control dieses einen Datensatzes(8 Controls pro Datensatz, 4 davon Textfeld), ob es vom Typ Textfeld ist
- Falls ja, änderst Du die bedingte Formatierung so, dass bei Gleichheit von PNr(Textfeld) und PNr(Tabellenfeld) der Hintergrund Orange wird - dadurch wird genau diese Zeile Orange
- Falls man das Unterformular verlässt, änderst Du sämtliche(?) bedingte Formatierungen im UFO, so dass theoretisch(bis auf den unwahrscheinlichen Fall, dass der Primärschlüssel "PNr" in der Tabelle  irgendwann 99999999 erreicht) nirgendwo der Hintergrund Orange sein kann
- Beim Öffnen des Formulares gehst Du erst auf UF2, damit die Exit-Sub von UF1 einmal durchlaufen wird und kein Feld am Anfang Orange ist, dann auf UF1, damit die Exit-Sub von UF2 einmal durchlaufen wird(ebenfalls kein Feld Orange)

Ist das so richtig erklärt?

Gruß, BigFish