27. juni 2006 - 16:18Der er
7 kommentarer og 1 løsning
IsLastRecord = True
Jeg har brug for at vide når jeg er på den sidste post i en underformular. Har fundet adskillig kode, men ser ikke ud til og virker, når det er lavet i Access ADP. Er der nogen der lige har et forslag?, husk det er en underformular den skal findes på.
if you place the cursor in the new record row then you will see that the record number will still show you the previously selected record number. This is because teh actual record pointer still points at that record and NOT at new record.
Dette virker i Access 2003, men om det også vil virke i Access ADP, som du har haft problemer med, ved jeg ikke. Men prøv det...
Indsæt følgende i underformularen:
Private Sub Form_Current() Dim rs As Recordset Set rs = Me.RecordsetClone rs.MoveLast ' Placer recordclonen på den sidste record If CompareBookmarks(Me.Bookmark, rs.Bookmark) = True Then MsgBox "Du står nu på den sidste record" End If rs.Close Set rs = Nothing End Sub Function CompareBookmarks(bookmark1, bookmark2) As Boolean If UBound(bookmark1) = UBound(bookmark2) Then For x = 0 To UBound(bookmark1) If bookmark1(x) <> bookmark2(x) Then CompareBookmarks = False Exit Function End If Next CompareBookmarks = True Else CompareBookmarks = False End If End Function
Bookmarken returneres som en array af bytes, så derfor var det nødvendigt med en lille funktion til at foretage sammenligningen. En alm. sammenligning gav fejl...
Det fremgik måske ikke helt klart, men koden skal indsættes i underformularens "Ved aktuel" hændelse (det der i den engelske udgave hedder On Current).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.