record in een subform vinden

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
In een hoofdform(F_mj1) is een subform (S_mj1). In het subform is een tabel met ruim 360 records.
Zichtbaar is een datum jaaroverzicht waarbij de datum in een lange datumnotatie wordt getoond(b.v. donderdag 9 maart 2017)
Ik heb tevens een datumveld waar de datum wordt getoond als een korte datumnotatie(9-3-2017)
Bij het laden van het Form moet het actuele record de actuele datum tonen.
Er moet niet gefilterd worden. Gewoon de recordpointer bij het record met de actuele datum.
In het hoofdform het ik een zoekveld gemaakt waar bij het laden de huidige datum in staat.
Dit veld heb ik genoemd FindRec. In het subform is het veld waarop gezocht moet worden Datum.
Wellicht kan het eenvoudiger met Date maar ik heb dit geprobeerd te realiseren met de volgende, niet werkende, VBA code. I.pv. 9 maart wordt 3 september getoond.
Code:
'Maak huidige datum het actuele record
Dim rst As Recordset
If Not IsNull(Me.FindRec) Then
Set rst = Forms!F_mj1!S_MJ1.Form.RecordsetClone
rst.FindFirst "Datum = #" & Me.FindRec & "#"
If Not rst.NoMatch Then
Forms!F_mj1!S_MJ1.Form.Bookmark = rst.Bookmark
Else
MsgBox "Niet gevonden!"
End If
End If
rst.Close
Set rst = Nothing
End Sub
Wellicht heeft OctaFish de oplossing?
b.v.d.
Sytse
 
Laatst bewerkt:
Om je wat op weg te helpen: Jouw formulier hanteert de Nederlandse datumnotatie, en VBA gebruikt de Amerikaanse. En daarom zie/vind je dus 3 september (3/9) i.p.v. 9 maart (9/3). Je zult de datum in je VBA dus moeten converteren naar een getal en in de zoekfunctie dan weer terughalen naar een datum. Ik doe dat altijd zo:
Code:
Dim rst As Recordset
Dim frm As Form
    Set frm = Me.S_MJ1.Form
    If IsDate(Me.FindRec) Then
        Set rst = frm.RecordsetClone
        With rst
            .FindFirst "Datum = Cdate(" & CDbl(Me.FindRec) & ")"
            If Not .NoMatch Then
                frm.Bookmark = .Bookmark
            Else
                MsgBox "Niet gevonden!"
            End If
            .Close
        End With
    End If
 
En ik maar alle soorten notatie's proberen.
Bedankt, ik ga het aanpassen.
Sytse
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan