- 締切済み
AccessVBAのSQL文が突然エラーになります
Access2007でアプリケーション開発をしています。 今まで使えていたアプリケーションのSQL文(Select 文, Delete文等)が突然エラーになってしまいます。 エラーは「型が違います…」のようなもの。 特にプログラムや設定等の変更はしていませんが、SQL文を発行するところにくるとエラーになります。 原因が全くわかりません。 こんなことってあるのでしょうか?
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- ShowMeHow
- ベストアンサー率28% (1424/5027)
よくわからないですが、 SQLは自分自身に対して実行しようとしているのでしょうか? それとも、リンクテーブルでしょうか? はてまた、他のDBでしょうか? リンクテーブルが開けるかどうかとか、ODBC接続なら接続できるかとか、、、 その辺も確認してみてください。
- ytsg
- ベストアンサー率58% (7/12)
今までは返ってくるレコードがあったのが、今回はない、とか。 開発用PCでテストしているときのデータは、その現象が出るPCで実行するのと同じデータを対象にしているなら違いますが、テスト環境では再現しない(必ずレコードがある)のかもしれません。
お礼
ytsgさん ご回答どうもありがとうございます。 ShowMeHow さんへのお礼文を同じなのですが、以下の通りです。 全く原因がわかりません。(> <) まだ開発中ですので、スタンドアロンでテストしており、テーブルもレコードも全て同じアプリケーションを、 別のPCにコピーして使うと、問題のエラーになります。(涙)
- ShowMeHow
- ベストアンサー率28% (1424/5027)
となると、 ODBC接続を未作成の端末からサーバーにSQL投げようとしているとか。
お礼
ShowMeHow さん ご回答どうもありがとうございます。 まだ開発中ですので、スタンドアロンでテストしており、テーブルもレコードも全て同じアプリケーションを、 別のPCにコピーして使うと、問題のエラーになります。(涙)
- ytsg
- ベストアンサー率58% (7/12)
今までは返ってくるレコードがあったのが、今回はない、とか。 開発用PCでテストしているときのデータは、その現象が出るPCで実行するのと同じデータを対象にしているなら違いますが、テスト環境では再現しない(必ずレコードがある)のかもしれません。
- ShowMeHow
- ベストアンサー率28% (1424/5027)
となると、 ODBC接続を未作成の端末からサーバーにSQL投げようとしているとか。
- ytsg
- ベストアンサー率58% (7/12)
今までは返ってくるレコードがあったのが、今回はない、とか。 開発用PCでテストしているときのデータは、その現象が出るPCで実行するのと同じデータを対象にしているなら違いますが、テスト環境では再現しない(必ずレコードがある)のかもしれません。
- nda23
- ベストアンサー率54% (777/1415)
VBAのツール→参照設定を見てください。 正常動作する方と比べてみます。 参照不能か過不足があれば、それが 原因かも知れません。
お礼
nda23さん ご回答、どうもありがとうございます。 開発環境のアプリケーションを、別PCにコピーしてテストしているので、 設定もテーブルもレコードも同じなのです。 なのに別PCでは問題エラーが起きます。 Accessの問題ではない気がするのですが、PCとAccessの間に何か関係することがあるのでしょうか? ちなみに、開発中のアプリケーションと同じもの(少し前に更新したもの)はエラーがでません。 (エラーとなるプログラムは同じです) なのに突然エラーが起きるなったので、原因が分からない状態です。
- ShowMeHow
- ベストアンサー率28% (1424/5027)
コードを載せていただけないと、特定はできませんが、、、 「型が違います」というのは、 数値型として定義された変数に文字列を入れようとしたり、 関数の変数に間違った型の値を入れたり(数値を求めているところに文字列を入れたり)したときに起きることが多いんじゃないかな。
お礼
ShowMeHow さん ご回答ありがとうございます。 「型が一致しません」は一般的なエラーとしては確かに数値型とかの違いのエラーなのですが、 今回は、今まで使えていた、ごく簡単はSelect文やDelete文に対してこのエラーが表示されます。 しかもある特定のPCから実行したときのみ起こります。 開発用PCでは上手くいきます。 エラーになるPCも特に設定変更などはしていないようなのですが… どうもSQL文の内容に関係なく、実行しようとする時点でエラーになっているのでは? と思うのですが。 アプリケーション内の設定変更もしていないため、全く原因が分からず困り果てています。
お礼
ShowMeHow さん ご回答どうもありがとうございます。 SQLは自分自身に対して実行しています。 本番稼動時は外部DBにしますが、開発段階ですので、全て自身のアプリケーション内にあります。 それで余計に分からなくなっています。 突然SQLが実行できなくなるってことあるのでしょうか?