Hallo,
ich versteh die ganze Problematik/Vorgehensweise nicht. Was hat das Docmd.Openform mit dem Sortieren bzw. Letzten DS zu tun?
In einem „Startformular“ muss („btnOeffneForm“ es einen Button geben, mit dem die Ereignisfunktion angestoßen wird:
Sub btnOeffneForm_Click()
If Y = 1200 Then 'Y wird als globale Variable angenommen
DoCmd.OpenForm "TB11"
Else
DoCmd.OpenForm "TB22"
End If
End Sub
Die Sortierung eine jeden Forms hängt , wie Ralf sagte, von der zugrundeliegenden Form-Abfrage ab.
Wenn anderes sortiert werden soll, dann muss das im Form-Ereignis „Beim Laden“ geschehen:
Sub Form_Load()
Me.Orderby = „<>“
Me.OrderbyOn =True
’ Wenn zusätzlich anschließend auf den letzten DS gesprungen werden soll, dann ist hier die richtige Stelle, um das zu erledigen:
Docmd.GotoRecord,acNewrec
End Sub
Vermutlich ist hier aber keine „Sortierung“ gemeint, eher das Entfernen von einschränkenden Kriterien(Filter)
(„ShowAllRecords“ jedenfalls sortiert nicht, sondern zeigt, wie der Name schon vermuten lässt, alle DS aus dem Formular-Recordset an, entfernt also einen „Filter“)
Auf Felder eines Formulars greift man mit „Me“ als Referenz der akt. Forms zu, in dem der Code gerade abläuft.
z.B:
Me!Vorname
Me!Nachname
.
.
Insgesamt ist also der Vorgang, den Du realisieren willst, nicht nachzuvollziehen.
Gruß
Franz, DF6GL