Запрос на добавление DST к UTC создает ошибку преобразования типов при доступе - PullRequest
1 голос
/ 16 декабря 2011

У меня есть таблица, которую я использую в качестве источника для запроса на добавление, который вызывает запрос к таблице, который вызывает запрос на объединение, чтобы эффективно отрегулировать восточное преобладающее время, чтобы перейти вперед и отступить при преобразовании в utc.в таблице только три поля, но я продолжаю получать "доступ не импортирован .... из-за преобразования типов".Пожалуйста, помогите мне !!!Заранее спасибо

ниже приведен sql доступа:

{запрос на добавление}

INSERT INTO somePrice ( price )
SELECT DTQuery.Price
FROM DTQuery
WHERE (((DTQuery.EPT)<>[2ndsunday]));

{DTQuery}

SELECT 
      TransposeQuery.Field3 AS [Zone]
    , DateSerial(Left([field1],4),Left(Right([field1],4),2),Right([field1],2))+[TransposeQuery]![Hour]/24 AS EPT, Val([Field8]) AS Price
    , DateValue(DateSerial(Year([EPT]),3,14))-(Weekday(DateValue(DateSerial(Year([EPT]),3,14)),1)-1)+3/24 AS 2ndSunday
    , DateValue(DateSerial(Year([EPT]),11,7))-(Weekday(DateValue(DateSerial(Year([EPT]),11,7)),1)-1)+3/24 AS 1stSunday
FROM TransposeQuery
ORDER BY 
      TransposeQuery.Field3
    , DateSerial(Left([field1],4),Left(Right([field1],4),2),Right([field1],2))+[TransposeQuery]![Hour]/24, Val([Field8]);

1 Ответ

0 голосов
/ 18 декабря 2011

Сначала некоторые общие вещи: если вы хотите конвертировать между часовыми поясами, что включает добавление или вычитание количества часов, которые вы можете использовать для функции DateAdd.

DateAdd("h", -2, [SourceDateTime])

Это просто занимает два часа вне поля SourceDateTime.

Также вместо использования комбинации Left(Right( можно использовать Mid (строка, начало, длина)

Mid("1234567890", 2, 4)

Возвращает 2345, но если вы имеете дело с датами, просто используйте DatePart

DatePart("h", "17/12/2011 08:10")

Возвращает 8.


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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...