• ベストアンサー

ACCESS引数が無効です

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

  • tue
  • お礼率33% (8/24)

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

  • ベストアンサー
  • 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

  • 「引数が無効です」ACCESS

    いつもお世話になっています。Accessの初心者です。 今 Access2003にて OLEオブジェクトを利用して画像を入れて データーベースを作成しています。 ところが データを100件ほど入力したら 引数が無効です と エラーがでてしまいます。 250件ぐらいのデーターを入れたいのですが、エラーの回避方法を教えていただきたいです。

  • 引数が無効です

    引数が無効です といったエラーが自分のブログ(fc2)で表示されてしまうのですが何が原因なのですか?

  • 引数の渡し方

    パッケージ内のプロシージャで 引数を渡し、その引数を検索条件として 使用したいのですが、エラーが出てしまいます。 引数に数値を与えると動くのですが 文字列を与えるとエラーが出ます。 エラーの内容は(引数として与えた文字列)は、 無効な識別子ですと表示されます。 おそらくシングルクォーテーションが 渡っていないのだと思い、||で文字列を 結合してみたのですが、それでも同様の エラーが表示されました。 ex) update TEST set col1 = 'TEST' where col1 = (引数で与えられた値); 正確に申し上げますと、上記のSQL文を hensuu := (上記のSQL文) execute immediately hensuu; として実行しています。 あいまいな表現でわかりにくいかとは 思いますが、ヒントを頂けたらと思い、 質問させていただきました。 よろしくお願いいたします。

  • アクセスで更新クエリ 「引数が無効です」

    アクセスで更新クエリを実行しようとしたら 「引数が無効です」というエラーになってしまいます。 更新クエリの内容(SQL文)は、 UPDATE T_詳細 SET T_詳細.name = StrConv([T_詳細]![name],8); のような感じで、半角にしようとしています。 どこが間違っているのでしょうか?

  • こんにちは。Access初心者です。

    こんにちは。Access初心者です。 現在、Access2003でデータベーステーブル更新機能を作成しています。 連結テキストボックスを作成し、入力規制を以下のように設定しました。 ●フィールドサイズ16(プロパティで設定) ●入力必須(プロパティで設定) ●未入力の場合はエラーメッセージ表示(プロパティで式を設定) このテキストボックスに対して「4」を入力した際、上記エラーメッセージが表示されてしまいます。 他のテキストボックスに「4」を入力した場合は同様の現象は起こりません。 これはAccessの入力規則等に関係するのでしょうか? もしくは設定ミスでしょうか? もし何かご存知でしたら、回答をお願いいたします。

  • アクセス2000でデータの追加がうまくいかないんですけど

    アクセス2000を使ってます。 基礎データというテーブルを作って、そこに「テキスト」というメモ型のフィールドを作り、 参照追加フォームというフォームを作って、その中に二つのテキストボックスを配置し、一方のテキストボックス1には「基礎データ」の「テキスト」をコントロールソースとして設定し、他方のテキストボックス2は非連結にし、コマンドボタンを二つ配置して、一方のコマンドボタン1を押すと、テキストボックス1のデータがテキストボックス2のデータにコピーされるようにVBAコードを書き、さらに、もうひとつのコマンドボタン2を押すと、非連結のテキストボックスのデータを、基礎データテーブルの「テキスト」というフィールドに追加する追加クエリを動かすようにしました。  このような状況で、コマンドボタン2を押すと、非連結のテキストボックス2のデータが、全角126文字までなら正常に動作するのですが、それ以上(全角127文字以上)になると、「引数が無効です。」というエラーが出てしまいます。 基礎データテーブルの「テキスト」はメモ型に設定してあるのに、どうしてこのようなエラーが出てしまうのでしょうか?誰か教えてください。  ※ためしに、追加クエリ単独で動かして、全角127文字以上のデータを入れた場合には、追加クエリは正常に動作します。これって、フォーム側の問題なんですか?  

  • (access )任意の数字以上でクエリ抽出したい

    フォーム上にテキストボックスと、サブフォームのクエリを配置しております テキストボックス(textbox1)に数字を入力し、その数字以上のフィールドを抽出したいのですが、上手く行きません 現在クエリの抽出条件に以下の式を入力していますが、レコードが一切表示されません。 (抽出はできますが) >=([Forms]![フォーム名]![textbox1]) どなたかご教授お願い致します

  • 引数が無効です アクセス ADO AddNew

    アクセスのテーブルにアクセスVBAで値を追加しようとしてるのですが Set cn = CurrentProject.Connection rs.Open "SELECT * FROM TAccess", cn, adOpenStatic, adLockPessimistic rs.AddNew rs("主キー") = Me.txt_主キー.Value rs.Update を実行しようとすると、 rs.AddNewの部分で、「引数が無効です」と言うエラーが発生し、 一時的にVBAコードが止まります。 しかしそのままF5で処理を実行すると、問題なくコードが動き、データが追加されます。 でもかならずrs.AddNewでエラーが発生します。 エラーが発生するのにそのまま実行すると問題ないのはなぜでしょうか? 「引数が無効です」は、どういう意味のエラーなのでしょうか?

  • cgiの引数が使えないです

    初めて質問します。 わかりにくく質問していたら申し訳ございません。 http://www.t-okada.com/shu1_note/shu1_note/21_11_log.html こちらのデータベースのプログラムをお借りしているのですが、 検索の引数をアドレスバーに直接入力すると、管理者ログイン画面となり、 参照することができません。 このような場合、どういうことが原因となっているか アドバイスしていただければ幸いです。 また、解決策がありましたらご教授ください。 よろしくお願いします。

    • 締切済み
    • CGI
  • Access:キャンセルボタンでログイン用フォームを閉じられない

    Access2000、Windows2000を使っています。 とあるログイン用のフォームに、ID入力用テキストボックス、パスワード 入力用テキストボックス、ログインボタン、キャンセルボタンを実装して います。IDとパスワードの入力においてチェックしている事は、 A:空白(未入力)だとダメ←ログインボタンのクリック時にチェック B:入力文字数が8文字以上15文字以下だとOK←各テキストボックスの                   フォーカス喪失時にチェック C:IDとパスワードが、とあるテーブルに登録してあればOK←ログインボタンの                        クリック時にチェック 以上のようなチェックですと、Bの入力文字数が8文字以上15文字以下かどうか のチェックでOKでなかった場合、入力文字数が正しく入力されるまで、 キャンセルボタンを押せません。Tabキーは効かない状態になり、マウス動作でキャンセルボタンにポインタを移動できますが、使えない状態です。 AとCのチェックでひっかかった場合は、キャンセルボタンは使えます。 入力文字数が正しくない場合、各テキストボックスにフォーカスをあてた 状態を保ちつつ、キャンセルボタンのみ使用できる・・・という処理は、 可能でしょうか? どなたか、よろしければ、ご指導おねがいいたします。