• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:更新時エラー番号5)

更新時エラー番号5とは?

このQ&Aのポイント
  • 質問者はVB5.0とAccessを使用して既存プログラムを修正しています。
  • データの更新時にエラーが発生し、SQLを実行する部分でエラーメッセージが表示されます。
  • 質問者はSQLをAccessのクエリに入力して実行すると成功するため、コーディング上のエラーの可能性を考えています。

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

  • ベストアンサー
  • a-kita
  • ベストアンサー率50% (6/12)
回答No.2

補足ありがとうございます。 状況からSQL文字列の問題で、しかも特定の場合だけなので代入値を疑うのが最優先と思います。 私はVB6.0 DAO3.6 Access2000の環境で、仮にテーブルを作成して掲載されているソース、SQLをそのまま実行しましたが再現しませんでした。 ネットで調べてみましたが、3075は代入値自体にシングルクォーテーションが含まれている場合がかなり多いようです。その他半角カナの扱いで出る場合もあるようですが、具体例は分かりませんでした。 頂いたSQLは守秘義務などの理由から代入値は変更されて掲載されたと判断しましたが(無論公開しないで結構ですが。)実際の値を検査するのが次のステップだと思います。 すべての列に実際の値を一つずつ代入して(他のカラムにはスペースやゼロなど無害な値を入れる。)検査して行けばエラーの出る列と値を特定できると思います。 まずはお試しを。

noname#2205
質問者

お礼

結局よくわからなかったのですが、 一旦,データをDSNファイルにしてから、それを 読み取って、SQLで更新かける,と言った処理を していたんです。 DSNにするとき、の処理がわるいのかもしれませんね。 もう一度みなおしてみます。 ありがとうございました!!!!

その他の回答 (1)

  • a-kita
  • ベストアンサー率50% (6/12)
回答No.1

エラー箇所の特定、およびもう少し内容を詰める必要があると思います。 1.念のため。エラーが発生する行は間違いなく「Execute」実施行ですか?デバッグモードで実行して発生行を特定してください。 2.「Execute」実施行で発生しているとして、他のSQLは通りますか?単純なSQLなどで試してみてください。 3.そのSQLだけがこけるのであればたまたまAccessは通してくれたと考えます。Jetは標準SQLの他にMicrosoft特有の拡張関数も使えますのでSQL中にそういった関数がないか、できればSQLそのものを教えてください。 4.DAOとAccessのバージョンも教えてください。 と言ったところです。 通常、DB系エラーは3000番台です。5番は色々な場面で出ますが、関数の引数に無茶な変数を代入しても出ます。まずはエラー発生行を特定し、その行を詳しく補足してください。

noname#2205
質問者

補足

デバッグしてみると、RUNSQL内のループで 1.DB.Execute SQL, dbFailOnError で Errconterが5になるため、エラーメッセージを 出す処理に流れます。 2.はい。エラーになったとき、RUNSQLは、 10回ループするのですが、1回目はとおりました。 2回目で、エラーになったのです。 SQL文の文字数にもよるのでしょうか? ちなみに、lenb(strconv(sql,vbFromUnicode )) とイミディエイトウィンドウで出した場合、 とおったものは、433でエラーは、460になりました。 3.エラーになったSQLを記述したのでいいでしょうか? UPDATE データ SET コード1 = ' ',コード2 = ' ',コード3 = ' Shem',コード4 = 'riap ',会社名1 = ' ',会社名2 = ' ',会社名3 = ' kkk ',会社名4 = 'k ',課 = ' ',コース有 = -1,コース受講済 = 0,コース受講届 = -1,振込み先 = -1,銀行名 = 1.356316E-19,支店 = 1.356316E-19,受講料 = 32,入力位値指示会社受付有無 = 0,ポイント番号1 = 2.938781E-39,ポイント番号2 = 2.938781E-39 WHERE コード = 196 AND 行 = 2 これです。 4.Access97   DAO 2.5/3.5 です。 そして、失礼しました。 Err.Descriptionでみてみると、 3075 ”実行時エラー’3075’:クエリー式’XXX'の文字列の 構文エラーです” とでました。 その、XXXのところですが、おかしくないと思うんですけど。 また、こういうのも見つけたんですが、 関係ないと思います。 ↓ http://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fJAPAN%2fsupport%2fkb%2farticles%2fjp168%2f1%2f94.asp なにかヒントになりそうなこと、ありますでしょうか? 宜しくお願いします。

関連するQ&A