Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Doming am März 19, 2026, 14:03:44

Titel: Datenblattansicht: Ereignis bei Änderung der Spaltenreihenfolge
Beitrag von: Doming am März 19, 2026, 14:03:44
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
Titel: Re: Datenblattansicht: Ereignis bei Änderung der Spaltenreihenfolge
Beitrag von: Knobbi38 am März 19, 2026, 18:05:14
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)