2011-12-16 6 views
1

テーブルクエリを呼び出す追加クエリのソースとして使用しているテーブルがあります。これは、ユニオンクエリを呼び出して、東部の有効時間を効果的に調整しますutcに変換している間、順方向および逆方向に戻る。テーブルには3つのフィールドしかありませんが、「アクセスはタイプ変換のためにインポートされませんでした」ということが続きます。私を助けてください!!!事前DTCから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]); 

答えて

0

いくつかの一般的なもの:あなたが間に変換したい場合タイムゾーンには、DateAdd関数に使用したい時間数を加算または減算する必要があります。

これは、SourceDateTimeフィールドから2時間かかるだけです。

もなく、あなたがミッド使用することができますLeft(Right(組み合わせ使用(開始、文字列を、長さ)

Mid("1234567890", 2, 4) 

返し2345ていますが、日付を扱っている場合だけDATEPART

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

戻り値を使用します8.


タイプは、あなたが私たちに目的地テーブルのフィールドのタイプを与えていないので、言い表すのは難しいです。

最初の行を付けずに追加クエリを実行すると、宛先テーブルが除外されます。それでも失敗した場合はwhere句に含まれる可能性があるので、フィールドを結果セットに移動して、それらが同じタイプであることを確認してください。それでも失敗した場合は、ソースクエリーになければならないので、問題なくDTQueryを開いてください。

関連する問題