Hallo,
ich habe hier ein Formular, welches in der Datenblattansicht dargestellt wird (historisch gewachsen).
Man kann ja die Reihenfolge der Spalten frei tauschen, das soll eigentlich auch so bleiben. Allerdings hätte ich gerne, dass die ersten drei Spalten fest belegt sind. Dementsprechend würde ich die Tauscherei gerne überwachen, um sowas wie ein Undo anzustoßen, wenn jemand z.B. Spalte 5 nach ganz links zieht.
Gibt es ein Event, welches den Tausch überwacht oder muss ich zyklisch die Reihenfolge der Spalten überprüfen, was ich lieber vermeiden würde.
Gruß
Doming
Hallo Doming,
nein, so ein Event gibt es nicht und zyklisch etwas zu überprüfen, würde ich jetzt auch nicht machen. Stattdessen könntest du die LostFocus-Events der Controls auswerten.
Alternativer Vorschlag: Spalten fixieren (Kontextmenü).
Hinweis: die Aktion aus dem Kontextmenü kann unter VBA auch mit "DoCmd.RunCommand acCmdFreezeColumn" ausgeführt werden ;)
Alternativer Vorschlag 2:
Form_MouseUp Events überwachen und die ColumnOrders wiederherstellen.
Andere Lösungen siehe hier:
https://isladogs.co.uk/freeze-columns-continuous-form/index.html (https://isladogs.co.uk/freeze-columns-continuous-form/index.html)