The SQL may execute, but it may not be the SQL you want or expect. You need to see what's being run. Suggest you break out the SQL into a separate variable, put a breakpoint on the fetch and have a look at what's being sent to the DB.
dim queryString as string = "SELECT * FROM tblwith WHERE (((datee) Between # " & DOR & "# And # " & DTPicker1 & "#))"
rs.Open queryString, con, adOpenForwardOnly, adLockReadOnly
Dates are always tricksy. You need to make sure that the client machine and any DB it's talking to aren't using different date formats, especially if you're handing them around as strings. For example, 10/2/2013. In the UK that's the 10th of Feb. in the US it's the 2nd of Oct. and 13/2/2013 might very well result in an error in a US format environment but will cause no problems whatsoever in a UK setup.