こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQL文の連結が、うまくいきません

いつもお世話になっております。

 現在、SQL文生成プログラムを作成しているのですが

 エラーメッセージ
「Microsoft OLE DB Provider for SQL Server (0x80040E14)
 '.' 付近に不適切な構文があります。」

 表示されて、どうしても解決出来ません
 ソースを記載しますのでアドバイス頂けないでしょうか?

 デバッガーみたいな事をさせてしまい、本当に申し訳ありません
 開発者自分一人(ほぼ初めて)で、どうにも進みませんでしたので
 お願いいたします。


 ※--ASPのデバッグに関して
 もう一つお聞きしたいのですが
(出来ればこちらの質問も答えてくださると幸いです)

 皆さんは、ASPのデバッグをどの様に行っていますか?
 VB6.0やVBAの場合は、ソースが不完全やエラーでも
 「F8」を押して、ソースの途中まで稼働させて
 「現在格納されている変数の中身」等を確認して
割とエラー解決もスムーズに出来ましたが、ASPではそれが出来ないため
 難航しています(Line*** と エラーメッセージだけを頼りに)

 皆さんはASPの場合、どの様にエラー解消されていますか?
 (どうにかして、自分一人でも安定して成果をあげていきたいので)
 我流でも結構ですので、是非アドバイスお願いします


SQL生成ソース

'--SQL生成
 strSQL = "select * from STA040, STA500M7"

 '--SQL作成(抽出場合分け)
 if check = "Day" then
  strSQL = strSQL + "where STA500M7.CODE040 = STA040.CODE"

 '--期日空白処理
  Blank_out J_days_st,N_days_st,M_days_st,J_days_ed,N_days_ed,M_days_ed

 '--受注日BetWeen
  if J_days_st <> "" and J_days_ed <> "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_1 BETWEEN " & J_days_st_sql & " and " & J_days_ed_sql & " "

 '--受注日start○,End×
  Elseif J_days_st <> "" and J_days_ed = "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_1 >= " & J_days_st_sql & " "

 '--受注日start×,End○
  Elseif J_days_st = "" and J_days_ed <> "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_1 <= " & J_days_st_sql & " "

 '--受注日start×,End×
  Elseif J_days_st = "" and J_days_ed = "" then
  End if

 '--納期BetWeen
  If N_days_st <> "" and N_days_ed <> "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_3 BETWEEN " & N_days_st_sql & " and " & N_days_ed_sql & " "

 '--受注日start○,End×
  Elseif N_days_st <> "" and N_days_ed = "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_3 >= " & N_days_st_sql & " "

 '--受注日start×,End○
  Elseif N_days_st = "" and N_days_ed <> "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_3 <= " & N_days_st_sql & " "

 '--受注日start×,End×
  Elseif N_days_st = "" and N_days_ed = "" then
  End if

 '--見積日BetWeen
  If M_days_st <> "" and M_days_ed <> "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_10 BETWEEN " & M_days_st_sql & " and " & M_days_ed_sql & " "

 '--見積日start○,End×
  Elseif M_days_st <> "" and M_days_ed = "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_10 >= " & M_days_st_sql & " "

 '--納期start×,End○
  Elseif M_days_st = "" and M_days_ed <> "" then
   strSQL = strSQL + " and STA500M7.YYMMDD_10 <= " & M_days_st_sql & " "

 '--納期start×,End×
  Elseif M_days_st = "" and M_days_ed = "" then
  End if

'strSQL = strSQL + "order by sta500m7.code ASC"

'strSQL = "select * from STA040,STA500M7 where STA500M7.CODE040 = STA040.CODE and STA500M7.YYMMDD_3 >= " & hiduke & " "
'strSQL = strSQL + " order by sta500m7.code DESC;"
   End if

   '↓ここがエラーだと表示されます(おそらくSQLが問題かと)
   Set objRS = objCon.Execute(strSQL)'レコードセットのオープン







 アドバイスお願いいたします

投稿日時 - 2008-08-11 15:30:25

QNo.4243881

すぐに回答ほしいです

質問者が選んだベストアンサー

whereの前に半角スペース入れてもダメですか?

投稿日時 - 2008-08-11 16:19:41

お礼

出来ました!!
ありがとうございます!!

こういうミスは本当に無くしたいです
気をつけていきます。

本当にありがとうございました!
感謝!

投稿日時 - 2008-08-11 16:26:05

ANo.1

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問