Format dates as U.S. dates regardless of regional settings
When you use Visual Basic for Applications (VBA) to concatenate dates into an SQL string, you must use a standard U.S. date format, regardless of the region that you have set in the Regional Settings tool in Control Panel. This topic contains a custom function that will convert any date into a U.S. date format.
Function MakeUSDate(DateIn As Variant) As String ' Do nothing if the value is not a date. If Not IsDate(DateIn) Then Exit Function ' Format the date value as a U.S. date formatted string expression. MakeUSDate = "#" & Month(DateIn) & "/" & Day(DateIn) & "/" & Year(DateIn) & "#" End Function