Sytse1
Gebruiker
- Lid geworden
- 9 aug 2007
- Berichten
- 584
- Office versie
- miDer
In mijn subform is een veld DatumEnDag. het veld heeft een Lange datumnotatie.
De datum wordt dan ook getoond als bv: woensdag 9 mei 2018
Er kunnen meerdere records zijn met dezelde datum. Deze records zijn dan nader ingevuld.
Er is altijd een leeg record met een en dezelfde datum als de nader ingevulde records.
In het subvenster kan het ingevulde record middels een knop verwijderd worden.
De verwijdering is geen probleem. Wat ik wil is dat het lege record met dezelfde datum in de tabel wordt gevonden en getoond. De datum wordt voor de verwijdering in een variabele vast gelegd.
De variabele is gedeclareerd: Public VarDatum As Date
In de variabele is de datum dan te zien als 9-5-2018
Bij VarDatum = Format(VarDatum, "dddddd") krijg ik de foutmelding Typen komen niet overeen.
Dus deze formatering overgeslagen.
Voor het terugvinden dan de opgeslagen datum gebruik ik onderstaande code.
De foutmelding komt bij regel: If IsDate(Forms!F_1!S_MJ1.Form.FindRec)
Ik krijg daar de foutmelding Door de toepassing of door object gedefinieerde fout.
Heeft dit nu te maken met het verschil in de datum zoals vermeld in het record en de vermelding in de variabele?
Sytse
De datum wordt dan ook getoond als bv: woensdag 9 mei 2018
Er kunnen meerdere records zijn met dezelde datum. Deze records zijn dan nader ingevuld.
Er is altijd een leeg record met een en dezelfde datum als de nader ingevulde records.
In het subvenster kan het ingevulde record middels een knop verwijderd worden.
De verwijdering is geen probleem. Wat ik wil is dat het lege record met dezelfde datum in de tabel wordt gevonden en getoond. De datum wordt voor de verwijdering in een variabele vast gelegd.
De variabele is gedeclareerd: Public VarDatum As Date
In de variabele is de datum dan te zien als 9-5-2018
Bij VarDatum = Format(VarDatum, "dddddd") krijg ik de foutmelding Typen komen niet overeen.
Dus deze formatering overgeslagen.
Voor het terugvinden dan de opgeslagen datum gebruik ik onderstaande code.
De foutmelding komt bij regel: If IsDate(Forms!F_1!S_MJ1.Form.FindRec)
Ik krijg daar de foutmelding Door de toepassing of door object gedefinieerde fout.
Heeft dit nu te maken met het verschil in de datum zoals vermeld in het record en de vermelding in de variabele?
Sytse
Code:
Public Function datumvinden()
'De datum van het gewiste record in subform S_MJ1 tonen
'Bewaarde datum in de variabele VarDatum om naar deze datum terug te gaan
Forms!F_1!S_MJ1.Form.RecordSource = "QSmj1" 'Subform S_MJ1
Dim rst As Recordset
Dim frm As Form
Set frm = Forms!F_1!S_MJ1.Form
If IsDate(Forms!F_1!S_MJ1.Form.FindRec) Then 'hier de foutmelding
Set rst = frm.RecordsetClone
With rst
.FindFirst "DatumEnDag = Cdate(" & CDbl(Forms!F_1!S_MJ1.Form.FindRec) & ")"
If Not .NoMatch Then
frm.Bookmark = .Bookmark
Else
MsgBox "Niet gevonden!" & Chr(13) & " Kies Ok ", 0, "Attentie"
End If
.Close
End With
End If
Set rst = Nothing
End Function