Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Formular verliert nach Sortierung Filter

Begonnen von frapu, August 05, 2011, 15:36:38

⏪ vorheriges - nächstes ⏩

frapu

Hallo,

ich nutze Access 2007 und habe folgendes Problem. Wenn ich in einem Formular in der Tabellenansicht filtere und dann in die Formularansicht wechsle und dort nach einem Feld sortiere, dann verliert das Formular den Filter und es werden alle Datensätze angezeigt. In access 2003 ist das verhalten nicht so. Woran liegt das bzw. wie kann man das Problem beheben?


MzKlMu

Hallo,
Wie sortierst Du denn?
Wie filterst Du?
Warum in der Tabellensicht filtern und nicht gleich in der Formularsicht?
Gruß Klaus

frapu

Zitat von: MzKlMu am August 06, 2011, 08:55:54
Hallo,
Wie sortierst Du denn?
entweder übers Start-Ribbon oder Kontextmenü
Zitat
Wie filterst Du?
Warum in der Tabellensicht filtern und nicht gleich in der Formularsicht?
da ich aus einem Formular ein anderes Formular gefilter in der Datenblattansicht aufrufe (über DoCmd.OpenForm). Wenn der Nutzer nun in dem neu geöffneten Formular in die Formularansicht wechselt und dort sortiert, wird der Filter aus irgend welchen Gründen entfernt. In Access 2003 war das nicht der Fall.
Es liegt aber auch nicht am VB, denn man kann das ganz auch nachvollziehen, wenn man in einem Formular in der Datenblattansicht über das Kontextmenü filtert, dann in die Formularansicht wechselt und dort sortiert.

Jonny

Hallo,
das Hin und Herschalten verstehe ich genausowenig wie MzKlMu.

So weit ich weis wird jedesmal beim Umschalten die Datenquelle wieder neu aufgebaut und dadurch ist der Filter weg

Sortieren kannst Du doch auch in der Formularansicht.
geht das nicht mußt Du bei Anzeigen deinen Fitler wieder aktiveren.

Gruß

Johann

frapu

Zitat von: Jonny am August 08, 2011, 11:41:26
das Hin und Herschalten verstehe ich genausowenig wie MzKlMu.

ok also noch mal detailierter: ich öffne ich aus dem Formular "Artikel" das Formular "Aufträge" gefiltert auf den ausgwählten Artikel in der Datenblattansicht. In der Datenblattansicht deshalb, da es für den ersten Blick übersichtlicher ist. Dann besteht die Möglichkeit in die Formularansicht zuwechseln um sich Details zu einem Auftrag anzugucken. Wenn man dort jetzt z.b. nach Auftragsdatum sortiert  fliegt der Filter raus und es werden alle Aufträge angezeigt und nicht mehr die von dem zuerst gewählten Artikel.

Zitat
So weit ich weis wird jedesmal beim Umschalten die Datenquelle wieder neu aufgebaut und dadurch ist der Filter weg

So wie es aussieht wird die Datenquelle nicht neu aufgebaut, da der Filter ja beim umschalten noch da ist, ich kann 100 mal hin und her schalten und der Filter ist aktiv. Erst wenn ich nach dem Umschalten sortiere fliegt der Filter raus und dies nur beim Umschalten von Datenblatt- in Formularansicht. Andersherum bleibt der Filter drin.

In Access 2003 bleibt der Filter aber erhalten. Nur in Access 2007 tritt diese Verhalten auf


Jonny

Hallo,
ich kann mich erinnern das ich mal ein ähnliches Problem mit den Filter hatte (nach Umstellung von 2002 auf 2007).
Gelöst habe ich es indem ich den Recordsource beim öffnen vom Formular per SQL-String übergeben habe. Danach konnte
man filtern und sortieren wie man wollte.

Gruß

Johann

frapu

Zitat von: Jonny am August 08, 2011, 12:21:56
Gelöst habe ich es indem ich den Recordsource beim öffnen vom Formular per SQL-String übergeben habe.
das möchte ich ungern machen, da der Aufwand bei über 100 Formularen zu groß wäre.

Ich überlege gerade eigene Sortieren Button zu machen

in dem Feld Sortierung steht immer der der Name des Formular Feldes? Zumindest funktioniert es so wenn ich den Namen dort angebe. Der Filter bleibt da nach Wechsel auch noch erhalten.
Ein sachen habe ich da aber noch. Beim Sortieren nach Kombinationsfeldern schreibt Access das Konstrukt "lookpup_Formularname_Feldname.Auswahlname" .
Wie komme ich an den Namen damit ich den setzen kann?

Jonny

Hallo,
sortieren nach einen Kombifeld.
Das Kombifeld ist doch mit einen Feld der Tabelle verbunden, dann kannst Du doch nach diesen Feld sortieren.
Oder ist das Kombifeld ungebunden?

Gruß

Johann

frapu

Das Kombinationsfeld ist mit einem Tabellenfeld verbunden. Nach diesm wird aber nicht sortiert wenn man auf diesem Feld die Sortierung auswählt.



Jonny

Das verstehe ich nicht.
Feld anklicken und dann Sortierschaltfläche funktioniert nicht?

frapu

so ich hab mal ne test-mdb erstellt.

dort einfach mal sortieren und dann den Button drücken. Dort steht bei dem Kombifeld nach dem sortieren in den Formulareigenschaften unter "orderby"  nicht das DB Feld sondern der Konstrukt "lookup_...". Damit ich die Sortierung selber machen, kann ist mein Frage wie ich diesen Namen per vba rausbekomme

[Anhang gelöscht durch Administrator]

database

Hallo,

Zitatist mein Frage wie ich diesen Namen per vba rausbekomme

'Sortierung entfernen
Me.OrderBy = ""
Me.OrderByOn = False


HTH

p.s. Es gab da mal einen schönen Beitrag im Forum ...

http://www.access-o-mania.de/forum/index.php?topic=8746.0

frapu

Zitat von: database am August 11, 2011, 17:34:37

'Sortierung entfernen
Me.OrderBy = ""
Me.OrderByOn = False


damit bekomme ich den Namen doch nicht raus? Ich will doch den Filter im VBA mit orderby erst setzen

database

DIe Sortierung auslesen kannst du mit

Dim strOrder as String

strOrder = me.OrderBy


...unter 'rausbekommen' verstehe ich entfernen...
daher me.OrderBy = ""

frapu

Zitat von: database am August 11, 2011, 18:02:30
DIe Sortierung auslesen kannst du mit

Dim strOrder as String

strOrder = me.OrderBy


...unter 'rausbekommen' verstehe ich entfernen...
daher me.OrderBy = ""
nein, ich möchte nicht den Filtern entfernen, ich möchte wissen wie ich den Namen ermitteln kann den ich im vba bei me.orderby setzen muss, damit ich nach einem KombiFeld sortieren kann.