Neuigkeiten:

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

Mobiles Hauptmenü

Universelle Sortierung der ComboBox möglich?

Begonnen von accessy, August 19, 2013, 14:37:22

⏪ vorheriges - nächstes ⏩

accessy

Ich habe eine Combobox (im weiteren Verlauf CB) genannt.
Diese CB erhält ihre Daten aus einer Abfrage.
Diese Abfrage hat als Vorgabe-Sortierung Aufsteigend nach Name.

Ist es möglich, die Datenherkunft für die CB so zu gestalten, dass sie
beim Öffnen der aktuellen Sortierung des Formulars entspricht?

Beispiel:
Ich stehe im Formular im Feld PLZ, klicke auf Sortierung Abwärts.
Jetzt öffne ich die CB und sehe eine abwärts sortierte Liste nach PLZ.

Oder,
ich stehe im Formular im Feld Ort, klicke auf Sortierung Aufwärts.
Jetzt öffne ich die CB und sehe eine aufwärts sortierte Liste nach Ort.

Gruß Achim

DF6GL

#1
Hallo,


fast alles ist möglich...

Die Sortierreihenfolge steht in der Form-Eigenschaft "Sortiert nach".

Benutze das Ereignis "Beim Hingehen" des (jeweiligen) Kombis und ändere dessen Abfrage in der Datensatzherkunft insofern, als dass diese Order by-Angabe dort mit aufgenommen wird und führe anschliessend ein Requery des Kombis aus.


accessy

Die CB heißt mit Namen "Auswahlliste".

Private Sub Auswahlliste_Enter()
  Rem   Me.Auswahlliste.Order By =
  Me.Auswahlliste.Requery
  Me.Auswahlliste = Null


Das mit dem "Order By" geht so nicht.
Me.Auswahlliste.Order By = ..... usw...

Irgendwie ist das eine Art Zirkelbezug. Das Formular erhält seine Daten aus der Abfrage "Privatadressen".
Die Datenherkunft für die CB kann ja jetzt nicht mehr die Abfrage "Privatadressen" sein.
Die Herkunft ist doch jetzt das Formular in einer neuen Sortierung.

Ich habe das grundsätzlich wohl nicht verstanden.
Gruß Achim

DF6GL

Hallo,

Du musst die dem Kombi zugrundeliegende Abfrage mit der Order-By -Klausel erweitern, nicht eine (nicht existierende) Eigenschaft des Kombifeldes hernehmen.

Wie lautet der SQL-String der Kombi-Abfrage?

accessy

Die CB hat als Datensatzherkunft die Abfrage
Die heißt Privatadressen.
Der SQL Code sieht so aus.

SELECT Privat.ID, Privat.Vorname, Privat.Nachname, Privat.Sonstiges, Privat.Adresse, Privat.PLZ, Privat.Ort, Privat.Tel, Privat.Fax, Privat.Funktion, Privat.Handy, Privat.Bemerkung, Privat.E_Mail
FROM Privat;


DF6GL

Hallo,



Private Sub Auswahlliste_Enter()
Me!Auswahlliste.Rowsource= "SELECT Privat.ID, Privat.Vorname, Privat.Nachname, Privat.Sonstiges, Privat.Adresse, Privat.PLZ, " & _
" Privat.Ort, Privat.Tel, Privat.Fax, Privat.Funktion, Privat.Handy, Privat.Bemerkung, Privat.E_Mail " & _
" FROM Privat  Order By " & Me.OrderBy

' Me!Auswahlliste.Requery  ' nur evtl. erforderlich
Me!Auswahlliste = Null

End Sub

(Luftcode)


Braucht es wirklich alle diese Felder in der Select-Liste??

accessy

Es gibt zwar keine Fehlermeldungen, aber es funktioniert auch nicht.
Die CB hat immer die gleiche Sortierung.

Private Sub Auswahlliste_Enter()
Me!Auswahlliste.RowSource = "SELECT Privat.ID, Privat.Vorname, Privat.Nachname, Privat.Sonstiges, Privat.Adresse, Privat.PLZ, " & _
" Privat.Ort, Privat.Tel, Privat.Fax, Privat.Funktion, Privat.Handy, Privat.Bemerkung, Privat.E_Mail " & _
" FROM Privat  Order By " & Me.OrderBy

Me!Auswahlliste.Requery
Me!Auswahlliste = Null

End Sub

Ich glaube, die ganze Idee ist irgendwie Blödsinn.
Ich verwerfe die Idee wieder.
Danke dir dennoch für den Versuch.

Gruß Achim