Neuigkeiten:

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

Mobiles Hauptmenü

SortAndFilterAdvanced per Button

Begonnen von petermeier, März 16, 2012, 14:35:21

⏪ vorheriges - nächstes ⏩

petermeier

Hallo Zusammen

Ich habe ein Formular und das Datenbankfenster mit den Menüs wird ausgeblendet.
Nun möchte ich einen Button im Formular kreieren, der den Spezialfilter aufruft.

Der Spezialfilter heisst: SortAndFilterAdvanced

Wie mache ich das? Ich glaube dabei wird eine Art temporäre Query generiert, wo die Filterkriterien eingegeben werden können...
(so ist es jedenfalls, wenn man den Spezialfilter wie gewohnt ob in der Menüliste verwendet)

DoCmd.RunCommand und dann SortAndFilterAdvanced???

-> Access 2007

DF6GL

Hallo,

wenn, dann so:

Docmd.Runcommand acCmdSortAndFilterAdvanced


Wobei Du den richtigen  Konstantenamen per Intellisense (oder ObjektKatalog) ausfindig machen könntest.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

petermeier

also das gibt eine Fehlermeldung (Aktion wird abgebrochen):

Private Sub Befehl55_Click()
DoCmd.RunCommand acCmdSortAndFilterAdvanced
End Sub

Für was brauche ich den Konstantennamen? Für den Spezialfilter wäre das: acFilterAdvanced



DF6GL

Hallo,

dieses "SortAndFilterAdvanced" gibt es ja auch nicht als Runcommand-Konstante....


Statt diesem "Spezialfilter" benutz doch gleich die Filter-Methode des Formulares.


Me.Filter = "Tabellenfeld1 ='" & stringMeinFeld1Kriterium & "'  and Tabellenfeld2 = " & longMeinFeld2Kriterium
Me.Filteron=true
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

oma

Hallo,

wenn du den Hinweis nachgegangen währst , dann findest du die Konstatnte:      acCmdAdvancedFilterSort

Gruß Oma

PS: ansonsten viel besser der Vorschlag von Franz
nichts ist fertig!

petermeier

Hallo Zusammen

Danke für die Hinweise... Ich habe nun einige Lösungen versucht auch mit Beispielen von wikidb...

Mit folgenden Code funktioniert es:

Private Sub Befehl60_Click()
DoCmd.GoToControl "Contract_year"
DoCmd.RunCommand acCmdAdvancedFilterSort
End Sub

Das Problem ist aber, dass ich das Access Hauptfenster ausgeblendet habe und darum alle Formulare und Report mittels Pop-up "Funktion" versehen habe.

Bei diesem Spezialfilter wird ja aber eine temporäre Query generiert. Ich kann diese Vorab nicht als Pop-up definieren und somit erscheint sie nicht, wenn das Access Hauptfenster ausgeblendet ist.

Kann ich irgendwie mittels Code angeben, dass diese autom. temporäre Query als Pop-up geöffnet werden soll?
-> WindowMode:=acDialog

Danke

DF6GL

Hallo,

warum verzichtest Du nicht einfach auf diesen Krampf und filterst die Daten unter Deiner eigenen Kontrolle?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

petermeier

ja, habe mir das vorhin auch überlegt ob das ganze Ausblenden des Access Fensters Sinn macht.
Aber ich bin ja nun fast am Ziel ich muss nur noch hinkriegen, dass die temporäre Query für die Spezialfilterung als Pop-up geöffnet wird!

Private Sub Befehl60_Click()
DoCmd.GoToControl "Contract_year"
DoCmd.RunCommand acCmdAdvancedFilterSort, WindowMode:=acDialog
End Sub


So funktioniert es nicht. Ich weiss einfach nicht, wo und wie ich dieses "WindowMode:=acDialog" hinpacken muss....

oma

Hallo,

Die Einstellung Pop-UP gibt es nur für Formulare!

1.  Nenne mir einen Grund, alle Formulare in POP-UP - Form zu gestalten
2.  Eine Benutzung  des Filters ist doch alles anderes als benutzerfreundlich, warum nicht ein Suchformular zur Eingabe von möglichen Paarametern u. mit Button eine Ausgabe eines Ergebnisformulars!?

Gruß Oma
nichts ist fertig!

petermeier

ja dann muss ich wohl etwas umdenken...

In diesem Zusammenhang eine Frage:

Private Sub ButtonFilter_Click()
DoCmd.GoToControl "xxx"
DoCmd.RunCommand acCmdFilterMenu

End Sub


Ist es möglich bei DoCmd.GoToControl mehrere Felder anzugeben so, dass mehrere Felder gefiltert werden resp. Filterkriterien für mehrere Felder festgelegt werden können?

DF6GL

"ja dann muss ich wohl etwas umdenken..."



mhmm, davon merkt man aber jetzt noch nichts....   ::)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo Peter,
ZitatDoCmd.RunCommand acCmdAdvancedFilterSort, [u]WindowMode:=acDialog[/u]
Diesen Parameter stellt die Methode gar nicht zur Verfügung.
Da wird auch nichts gefiltert, sondern nur sortiert.
ZitatAber ich bin ja nun fast am Ziel ich muss nur noch hinkriegen, dass die temporäre Query für die Spezialfilterung als Pop-up geöffnet wird!
Diese temporäre Abfrage kannst Du mit
DoCmd.RunCommand acCmdSaveAsQuery
abspeichern, und dann vielleicht öffnen (hab' ich jetzt nicht weiter
ausprobiert).
ZitatIst es möglich bei DoCmd.GoToControl mehrere Felder anzugeben so, dass mehrere Felder gefiltert werden resp. Filterkriterien für mehrere Felder festgelegt werden können?
IMO NEIN. Per Menu kannst Du ja auch nur auf ein Feld zugreifen.
Müsstest Du evtl. hintereinander versuchen.
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)