私は大丈夫なSQLサーバにクエリを書きました。SQLサーバからMS Acessへのクエリのコピー
私はクエリに取り込む必要があるより多くのデータがあるので、このクエリをAccessで実行する必要があります。
しかし、AccessにSQLをコピーしても機能しない場合、クエリエラーで演算子が見つかりません。 CAST
の最初の行に
SELECT main.Tbl_ServiceOrder.ServiceOrder
, main.Tbl_Serviceorder.BusinessPartnerNumber
, main.Tbl_ServiceOrder.ExternalPointofDeliverynumber
, main.Tbl_ServiceOrder.ServiceProduct
, main.Tbl_ServiceOrder.SOCreatedOn
, main.Tbl_ServiceOrder.MainUserStatus
, main.Tbl_ServiceOrder.MainUserStatusDesc
, main.Tbl_ServiceOrder.ReasonCode
, main.Tbl_ServiceOrder.ReasonCodeDesc
, main.Tbl_ServiceOrder.SOActualFinishDate
, main.Tbl_ServiceOrder.BasicStartDate
,CAST(CASE WHEN reasoncode <> 'CMPL' THEN 'Pre Install'
WHEN reasoncode = 'CMPL' and SOActualFinishDate < (getdate()-182) THEN 'SMART BAU'
ELSE 'Post Install' END as Varchar) as SMRTPot
FROM main.Tbl_ServiceOrder
WHERE main.Tbl_ServiceOrder.ServiceProduct ='SMINSTALL'
OR main.Tbl_ServiceOrder.ServiceProduct ='SMEXCHANGE'
WHEN
をエラーポイントとしてアクセスすることにより強調表示されます。
私は間違っていますか?私は
, IIF (reasoncode <> 'CMPL','Pre Install',(IIF SOActualFinishDate < (getdate()-182),'SMART BAU','Post Install')) as SMRTPot
以下、上記IIFへのキャストを変更しようとした
は
IIF (reasoncode <> 'CMPL','Pre Install',(IIF SOActualFinishDate < (getdate()-182),'SMART BAU','Post Install')) as SMRTPot
は、上記のクエリ式の構文エラーになるクエリ式の構文エラー(カンマ)を与えます。
わかりましたので、これは私が今使っているものです:
SELECT main.Tbl_ServiceOrder.ServiceOrder
, main.Tbl_Serviceorder.BusinessPartnerNumber
, main.Tbl_ServiceOrder.ExternalPointofDeliverynumber
, main.Tbl_ServiceOrder.ServiceProduct
, main.Tbl_ServiceOrder.SOCreatedOn
, main.Tbl_ServiceOrder.MainUserStatus
, main.Tbl_ServiceOrder.MainUserStatusDesc
, main.Tbl_ServiceOrder.ReasonCode
, main.Tbl_ServiceOrder.ReasonCodeDesc
, main.Tbl_ServiceOrder.SOActualFinishDate
, main.Tbl_ServiceOrder.BasicStartDate
,Switch(reasoncode <> 'CMPL', 'Pre Install',
reasoncode = 'CMPL' AND SOActualFinishDate < (Getdate() - 182), 'SMART BAU',
True, 'Post Install') as SMRTPot
FROM main.Tbl_ServiceOrder
WHERE main.Tbl_ServiceOrder.ServiceProduct ='SMINSTALL' OR main.Tbl_ServiceOrder.ServiceProduct ='SMEXCHANGE'
エラーメッセージが今コメントをファイル「ファイルパス\ main.mdb
http://stackoverflow.com/questions/14920116/does-ms-access-support-case-when-clause-if-connect-with-odbc –
あなたはAccessのCASE構文を調べて、それをあなたですか? – GuidoG