Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: boehnli01 am August 21, 2012, 22:48:19

Titel: Go to neusten Datensatz
Beitrag von: boehnli01 am August 21, 2012, 22:48:19
Hallo zusammen - aus einem Endlosformular öffne ich mit diesem Befehl ein zusätzliches Formular um einen neuen Datensatz einzugeben:
Private Sub Command112_Click()
On Error GoTo Err_Command112_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

DoCmd.OpenForm "F_SalesOrders_Stock", DataMode:=acFormAdd, WindowMode:=acDialog
Me.Requery



Exit_Command112_Click:
    Exit Sub

Err_Command112_Click:
    MsgBox Err.Description
    Resume Exit_Command112_Click
   
End Sub



Wenn ich das Formular verlasse ich will dann direkt auf den eröffneten Datensatz landen. Kann mir jemand sagen wie ich das machen sollte ?

Danke Cédric
Titel: Re: Go to neusten Datensatz
Beitrag von: DF6GL am August 22, 2012, 09:45:57
Hallo,

im einfachsten Fall, wenn das Endlosform nach aufsteigenden inkrementellen Autowert als Primärschlüssel sortiert, reicht:

.
.
.
DoCmd.OpenForm "F_SalesOrders_Stock", DataMode:=acFormAdd, WindowMode:=acDialog
Me.Requery
Docmd.Gotorecord,,acLast
Exit_Command112_Click:
.
.



Ansonsten muß im Form "F_SalesOrders_Stock"  beim Ereignis "Nach Aktualisierung" eine Public Variable mit dem Primärschlüsselwert gesetzt werden, der zum Positionieren des Endlosform genutzt wird:



In einem Standardmodul:

Public plngPS as Long



Im "F_SalesOrders_Stock":

Sub Form_Afterupdate()
plngPS = Me![IdFeld]
End Sub


und



.
.
Me.Requery
Me.Recordset.Findfirst  "[IDFeld] = " & plngPS
Exit_Command112_Click:
.
.