I'm probably teaching grandma to suck eggs but use a function to do the hard work: Simply pass in the form value SQLDate(Me.MyDateControl)
I have an similar function for passing dates to SQL Server so adds the single quotes required in the server.
Code:
Function SQLDate(varDate As Variant) As String
'Purpose: Return a delimited string in the date format used natively by JET SQL.
'Argument: A date/time value.
'Note: Returns just the date format if the argument has no time component,
' or a date/time format if it does.
'Author: Allen Browne. allen@allenbrowne.com, June 2006.
'Adjusted Minty 2013 - to a more universal format
If IsDate(varDate) Then
If DateValue(varDate) = varDate Then
SQLDate = Format$(varDate, "\#yyyy-mm-dd\#")
Else
SQLDate = Format$(varDate, "\#yyyy-mm-dd hh\:nn\:ss\#")
End If
End If
End Function
in the immediate window;
?sqldate (date())
#2023-04-02#