Positionering i subform 2
en fortsættelse afhttp://www.eksperten.dk/spm/679689 og
http://www.eksperten.dk/spm/679976.
frmMain er hovedform; den har ingen tilknyttet tabel.
Den har derimod en del subforms, som har tilknyttet Record source: Tabel1.
Form frmMain har bla. to subforms; frmListe1 og frmListe2 som hver viser en liste over records fra Tabel1, men med forskelig status, bestemt ud fra felt Tabel1.chkStatus.
frmMain har også en subform frmDetail som viser detailindholdet af Tabel1 records.
Jeg bruger frmListe1 og frmListe2 til at positionere i frmDetail, som kun viser én record af gangen. Til dette bruges en Parent/child relation som er opbygget almindeligt via en wisard i Access.
Dvs. Når jeg klikker på en record fx. frmListe1, så vises detailindholdet i frmDetail.
Problemet er så når jeg sætter et X i chkStatus i frmDetail.
Dette gør at recorden skal forsvinde fra frmListe1, og istedet vises i frmListe2.
Det gør jeg ved følgende event:
Private Sub chkStatus_AfterUpdate()
' First save current record:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
' Then do the requery:
Me.Parent.Parent.frmListe1.Requery
Me.Parent.Parent.frmListe2.Requery
End Sub
Problemet er bare, at disse Requeries forårsager Requeries af frmDetail fordi dette kommer standard fra Wizarden:
Sub Form_Current()
' Denne kode er oprettet af formularguiden.
Dim strParentDocName As String
On Error Resume Next
strParentDocName = Me.Parent.Name
If Err <> 0 Then
GoTo Form_Current_Exit
Else
On Error GoTo Form_Current_Err
Me.Parent![frmDetail].Requery
End If
Form_Current_Exit:
Exit Sub
Form_Current_Err:
MsgBox Err.Description
Resume Form_Current_Exit
End Sub
Der sker så det, at NÅR jeg har sat et X i chkStatus i frmDetail, så refresher det frmListe1 og frmListe2 fint nok, men den viser så derefter en ANDEN record i frmDetail, end den jeg satte krydset i, og det er jo ikke så smart.
Kan man ikke gemme positionen på den nuværende record i Sub chkStatus_AfterUpdate(), og så lave requery, og så gen-positionere på den gemte record?
Hvordan ?
