1

Я довольно хорошо с доступом / Excel / и т.д. Однако я сталкиваюсь с кирпичной стеной с базой данных, которую я регулярно запрашиваю для информации. Он имеет поля даты / времени, которые отслеживаются в формате Unix Time (количество секунд с 01.01.1970).

Моя конечная цель заключается в том, чтобы пользователь установил начальную и конечную даты, которые будут переданы в запрос на доступ в качестве переменных, чтобы вернуть все строки между начальной и конечной датой.

Прямо сейчас мое обходное решение состоит в том, чтобы импортировать все строки и создать отдельный столбец, используя Формат и форматирование даты / времени времени unix локально в короткую дату, которую я могу легко фильтровать. Однако, как и ожидалось, это очень медленно, так как запрос должен импортировать все строки внешней базы данных, а затем локально вычислить поле даты / времени перед отображением результатов.

Я знаю, что должен быть способ передать запрос во внешнюю базу данных, но я просто не знаю, какой будет синтаксис (и как только выясняется, как вставить временные переменные в синтаксис).

1 ответ1

1

Вы можете просто передать номер на ваш запрос.
Чтобы преобразовать значение даты / времени доступа в время эпохи Unix, DateDiff("s", DateSerial(1970, 1, 1), YourDate) даст вам необходимую цифру

SQLString = "SELECT * FROM YourTable WHERE Time < " & DateDiff("s", DateSerial(1970, 1, 1), YourDate)

Надеемся, что это даст вам представление о том, как создать нужный оператор SQL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .