It is best not to let users start a query with variables because users can make mistakes easely.
A query can be made by a form, I am Dutch and in Holland the date format is dd-mm-yyyy, this is not the format used in a sql statement so it is impossible to let users fill out a variable when opening a query.
This can be a solution:
put this in a module to use it over and over
Public Function tousdate(datein As Date) As String
Dim outgoing
outgoing = Month(datein) & "/" & Day(datein) & "/" & Year(datein)
tousdate = outgoing
End Function
The form where you start your query with contains a button wich will delete a query and make it based on the date (and other stuff) which is filled in the form.
The following code can be used to delete and make a querry called dubbel:
DoCmd.DeleteObject acQuery, "dubbel"
Set qdfcheck = CurrentDb.CreateQueryDef("dubbel", _
"SELECT * FROM EBANKING where date > #" & tousdate(me.datefield) & "#;"

Set rstdubbel = qdfcheck.OpenRecordset