Формат даты Access SQL по умолчанию, независимо от локали, равен мм / дд / гггг. Если вы используете недопустимый формат даты, он «услужливо» попытается преобразовать ее в действительную для вас дату.
Итак, если вы используете '30 / 09/2008 ', он распознает, что вы используете дд / мм / гггг, и конвертирует его соответствующим образом. Однако значение типа «10/01/2008» является допустимым значением в мм / дд / гггг, поэтому оно не будет преобразовано и сохранено неправильно, если вы действительно имели в виду дд / мм / гггг ....
Решение состоит в том, чтобы всегда преобразовывать значения даты в строку мм / дд / гггг, прежде чем использовать их в инструкциях Access SQL. Здесь вы должны быть немного осторожны, так как использование масок формата даты VBA может работать не совсем так, как вы ожидаете в неамериканских локалях (например, «услужливо» интерпретировать «mm / dd / yyyy» как «локализованный формат короткой даты») ), поэтому, пожалуйста, внимательно проверьте вашу конкретную версию Access / VBA.