• ベストアンサー

ACCESS引数が無効です

テキストボックスに255文字以上入力された値をクエリを用いてデータベースに書き込もうとしているのですが、「引数が無効です」というエラーが出てしまい、登録できません。 原因はなんなのでしょうか?また回避策は有るのでしょうか?どなたか教えてください!

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

  • ベストアンサー
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

その書き込もうとしているフィールドがテキスト型なのでしょう。 テキスト型の上限は255文字です。97以前は確か半角で255? 2000以降だと文字数で255文字。 回避させるにはフィールドをメモ型にさせましょう。 2000ならユーザーインターフェイスからデータを入力する場合は 65,535 文字、プログラムから直接入力させる場合は 1 GBまで渡せるようです。 このあたりの制限は仕様ですのでどうしようもありません。根本的に解決するにはアクセスのような簡易データベースではなく、本物のデータベースを使うw だましだまし回避させるにはフィールドを複数に分けるなどでしょう。

tue
質問者

補足

返答ありがとうございます。 でも、申し訳ございません。フィールドはメモ型なんです。。。 ちなみにアクセスのバージョンは2000です。

その他の回答 (4)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.5

追加です。 > 回避策は [ACC2002] レポートを Excel に出力するとメモ型フィールドの文字が切り詰められる http://support.microsoft.com/default.aspx?scid=kb;ja;294286&Product=accJPN テキスト型を使うしかないのかもしれないです。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;294286&Product=accJPN
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.4

> クエリを用いてデータベースに書き込もうとしているのですが、 > 「引数が無効です」というエラーが出てしまい、登録できません。 追加クエリ Or 更新クエリを使ってということでしょうか? メモ型の場合、いろいろ制約があるみたいなので、そのひとつかもしれないですね。 ACC: フォーマットされたメモは、255文字でのデータを切り捨てます。 http://support.microsoft.com/default.aspx?scid=kb;JA;103998&Product=accJPN こんなのもあるみたいですし。

noname#22650
noname#22650
回答No.3

>クエリを用いてデータベースに書き込もう この部分具体的にどのようにしてますか? マクロかモジュールでしょうか? マクロの「RunSQL/SQLの実行」は256バイト モジュールの「Docmd.Runsql」は32768バイト の制限があります。 これにひっかかっていませんか?

回答No.2

mdbを最適化しても直りませんか?

関連するQ&A