Microsoft Access 掲示板

INSERT INTO の実行時エラー / 8

12 コメント
views
8

strSQL = "INSERT INTO 事業所データ([事業所番号]) VALUES('test2')"
adoCn.Execute strSQL 'SQLを実行して対象を追加

実行時エラー-2147467259(80004005) 引数が無効です

手動でデータを入力してみたところ、1回目は引数が無効ですで入力できず
2回目には登録ができる状態が、2回続けて起こりました。

状況的には、既に行われた「XMLファイルのエクスポート→インポート」が最も有効な解決方法であると思われますが。

このテーブルはフィールドが238ありまして限界に近いのですが、

どうも、200超えたあたりから動作が怪しくなる気がしますが、こんなことがあるのでしょうか?

  • Access において、1 つのテーブルに定義できるフィールドの数は 255 個までである。

  • 1 つのテーブルにおいて、フィールドの追加/変更/削除を繰り返しているうちに、「実際に画面上で確認できるテーブルのフィールド数よりも多いフィールド数分の設定情報が保持されている」と認識される状態となることがある。

  • この「フィールド数のずれ」が含まれているテーブルに対してレコードを追加しようとすると、Access データベースエンジンが正常にデータを処理することが出来ず、件のエラーが発生する。

上記の「設定情報」を Access のユーザーインターフェース上で閲覧、編集することは出来ませんので、前述の方法によってそのテーブルをまるごと作り直すことでしか修正できません。

参考: access 実行時に、「引数が無効です」のエラー

いずれにせよ、この現象の性質上、フィールドの数を上限に近いほど増やしたり、1 つのテーブルのデザインの変更(フィールドの追加/削除からの上書き保存)を頻繁に繰り返すことはあまり推奨されません。

[事業所番号]と[事業所名]の他にどのようなフィールドが定義されているのか不明ですが、可能であればテーブル構成の再設計や正規化を検討されることをお奨めします。

strSQL = "INSERT INTO 事業所データ([事業所番号]) VALUES('てすと')"
adoCn.Execute strSQL

「事業所名フィールドに値を入力してください」(主キーは事業所番号に設定されています)で、エラー

テーブル[事業所データ]のフィールド[事業所名]の[値要求]プロパティはどのように設定されているのでしょうか。

通報 ...