2017-05-29 6 views
0

あなたは私を助けることができる、事前に感謝SQLクエリ、間違った構文の近くに「キーワード」

sqlquery = "SELECT dbo.trans_queue.que_no, dbo.trans_step.step_remarks," _ 
       & " dbo.office.office_name, dbo.transaction.trans_name," _ 
       & " dbo.trans_queue.date_arrive, dbo.trans_queue.time_arrive" _ 
       & " FROM dbo.trans_queue" _ 
       & " INNER JOIN dbo.trans_step ON dbo.trans_queue.trans_step_Id = dbo.trans_step.trans_step_Id" _ 
       & " INNER JOIN dbo.office ON dbo.trans_queue.office_Id = dbo.office.office_Id" _ 
       & " INNER JOIN dbo.transaction ON dbo.trans_queue.trans_Id = dbo.transaction.trans_Id" _ 
       & " WHERE dbo.office.office_Id = '" & Now_Office_ID & "'" _ 
       & " ORDER BY dbo.trans_queue.time_arrive AND dbo.trans_queue.date_arrive" 

いつも私を伝えるエラーその 「不正な構文近い 『トランザクション』」

+4

(1)パラメータ化されたクエリを使用します。 (2)は、文字列の生成に使用されたコードではなく、クエリ文字列の外観を示します。時間の95%は、クエリ自体を見ると問題が明らかになります。そして、(3)使用しているデータベースにタグを付けます。 –

+0

アドバイスをいただきありがとうございます@ GordonLinoff – gunZ333

+0

だから、どのDBMS ** **を使用していますか? –

答えて

3

おそらくほとんどの問題は、あなたのテーブル名TRANSACTIONはのTransact SQLの予約語であるという事実から来ています。 :あなたのエラーがresearved単語「取引」あなたが使用する必要があり、MicrosoftのSQL Serverでは、データベースを指定してはいけないを使用する必要があります

sqlquery = "SELECT dbo.trans_queue.que_no, dbo.trans_step.step_remarks," _ 
      & " dbo.office.office_name, dbo.[transaction].trans_name," _ 
      & " dbo.trans_queue.date_arrive, dbo.trans_queue.time_arrive" _ 
      & " FROM dbo.trans_queue" _ 
      & " INNER JOIN dbo.trans_step ON dbo.trans_queue.trans_step_Id = dbo.trans_step.trans_step_Id" _ 
      & " INNER JOIN dbo.office ON dbo.trans_queue.office_Id = dbo.office.office_Id" _ 
      & " INNER JOIN dbo.[transaction] ON dbo.trans_queue.trans_Id = dbo.[transaction].trans_Id" _ 
      & " WHERE dbo.office.office_Id = '" & Now_Office_ID & "'" _ 
      & " ORDER BY dbo.trans_queue.time_arrive AND dbo.trans_queue.date_arrive" 
+0

お世話になりました。 – gunZ333

0

:角括弧の間の単語でクエリ内取引のすべてのオカレンスを置き換え

dbo.[transaction].trans_name, 
関連する問題