• ベストアンサー

オラクル11gでMAXを使うとエラーになった。

お世話になります。 WIN7 Oracle11g の環境で dim rs as new adodb.recordset sql = "select max(sal) from file_name where pcname= '" & PCN & "'" rs.open sql,cn,adopenstatic,adlockoptimistic を実行すると ora-00937 のエラーになってしまいます。 oracle9iでは、エラーにならなかったのですが、なにか変ったのでしょうか。 どなたかご教授頂ければ助かります。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

Windows32bit版 11gR1で 「Provider=OraOLEDB.Oracle」「Provider=MSDAORA」 両方試してみましたが、再現しませんでした(EXCEL2000 VBAからテスト)。 エラーになるSQLは、SQL*PLUSからでもエラーになるのでしょうか?

090303kan
質問者

お礼

nora1962様 テストをして頂きありがとうございます。 SQL*PLUSでテストしましたがエラーにはなりませんでした。 MAX値がある場合もNULLでかえってくる場合も正常に終わりました。 VB6でSQLを実行してるんですが、 VB6が悪さしている可能性もあるのでしょうか。 以上 宜しくお願いします。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

> sql = "select max(sal) from file_name where pcname= '" & PCN & "'" の「max(sal) 」に別名をつけるとどうなりますか?

090303kan
質問者

お礼

nora1962様 結果報告が遅くなり申し訳ありません。 max(sal) as mxsal のようにして試してみましたが結果は同じでした。 しばらくはまた、このプログラムの修正をすることになりそうなので ご教授して頂けるようでしたらよろしくお願いします。

関連するQ&A