• 締切済み

accessでのエラー

Access2000で作られたものなのですが(知人の会社ですでに辞めた人が作ったもの) ハードを2年位前にXPに入れ替えたためAccess2003で使っていました。 受注Noを主キーにして受注管理票と工程管理票を作っているのですが、昨日まで順調に入力できていたのですが今日になって入力完了し登録しようとすると 「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。」 とエラー表示され先に進みません。 インデックスや主キー等はいじっていません。 試しに新しくデータを作成し全てインポートしてみたのですが同じ結果でした。 ちなみにデータはコンバートせずに使っていましたが、コンバートしてみても同じでした。 Access2000のCDはどこにあるかわかりませんが2000にしたら治るものなのでしょうか。 仕事に使われているため非常に困っております。 何卒宜しくご教授お願いいたします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

おや?その知人さんにはエラーの発生するmdb(mde?)ファイルを送って試してもらったのですよね? もう試されているかもしれませんが、AccessXPではヘルプメニューの中に アプリケーションの自動修復があります。2003でも同様のものがあれば試してみてください。

an3118
質問者

お礼

ご連絡有難うございます。 自動修復やってみましたがだめでした。 有難うございました。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

現物を見てみないことには何とも言えないと思います。 提示されたエラーが発生する直前まで作業を進めて、各フィールドの値をメモに取ります。 関係していると思われるテーブルをデザインビューで開いて 主キーやインデックスあり(重複なし)の設定になっているフィールド名を確認します。 データシートビューに切り替えて先ほどのエラー時のフィールドの値が 主キーやインデックスあり(重複なし)のフィールドに入っていないか確認します。 またフィールドの中にNull(空白)の状態がないかも。 これで直接的な原因が分かるかもしれませんが そのエラーが発生した遠因が何なのかまでは、 「受注No」の新たな番号をどうやって求めているかなどが分からないと難しいのでは。 何とかして作成者と連絡をとるとか、出入りの業者さんのつてを頼って Accessでアプリを作っているソフトウェアハウスさんに相談するしか道がないかも? Access2000に戻しても問題は解決しないと思います。 ※オリジナルを壊さないようにバックアップを取るなど、対処はくれぐれも慎重に。

an3118
質問者

お礼

早速のご連絡有難うございます。 受注Noは手打ちで入力しています。 別の知人が会社でAccess2000を持っていたのでメールでデータを送ってみたら症状が出ないとのことでした。 オークションで2000を探してみます。 有難う御座いました。

関連するQ&A

  • エクセルのデータをアクセスのテーブルにインポート

    エクセルのデータをアクセスのテーブルにインポートしたくて、 アクセスから外部データのインポートでエクセルを指定してるのですが ************************************************************************ ワークシート インポートウィザード インデックス、主キー、またはリレーションシップで重複する値が生成されてるため、 テーブルを変更できませんでした。 重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。 ************************************************************************ になってしまいます。 エクセルの列名を見ても重複していないし(COUNTIF関数で確認しました) アクセス側のウィザードでインデックスはどこのフィールドにもつけてないし、 「主キーを設定しない」もしくは「主キーを自動的に設定する」にしているのに、何をやっても上記のエラーがでます。 ググっても同じようなエラー内容が見つからないのですが、どうしたらいいでしょう? ヴァージョンはエクセルは2007、アクセスは2010です。バージョンの相違が原因でしょうか?

  • ACCESS2000の主キー重複について

    いつもお世話になっています。 早速ですが、お教えください テーブル名:AMaster フィールド名:B があります。 「B」は主キーになっていまして、ユーザーが任意に数字をいれることになります。 主キーになっていますので基本的には重複しないのですがユーザーの押し間違いなどによって重複してしまった場合 [Microsoft][ODBC Microsoft Access Driver] インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。 といったエラーメッセージが出ます。これは出ても構わないのですがツールバーの「戻る」でしか今後の操作ができなくなってしまうので(ユーザーはPC超初心者)何らかの形でエラーメッセージとともに任意のページへ戻れるようにしたいと考えています。 つきましては、「B」フィールドにあるデータとこれから入力される数値が重複していたら・・・という記述をお教えいただきたいと思います。 ASPにて作成していますのでそれに対応した記述ですとありがたいです。 過去のログに似たようなものがありましたがこちらを参照してもボクにはわかりませんでした。 http://okweb.jp/kotaeru.php3?q=357614 ボクも何分初心者なのでわからないことだらけですがよろしくお願いします。

  • ACCESS2000:主キーに半角と全角データを登録する方法は?

    定数.mdbにTBLというテーブルがあります。 このテーブルの主キーのカラムに以下のような半角と全角のデータを登録しようとすると、「インデックス、主キーまたはリレーションシップで指定されている値が重複しています。変更はできませんでした。」というエラーが発生します。これを回避してデータ登録する方法を教えてください。 AAA   ← 半角 AAA  ← 全角 よろしくお願いします。

  • Accessのデータベースの構築の仕方について

    Accessのデータベースの構築の仕方について Access初心者です。 1注文書にmax3品目まで記入できる注文書データベースの構築について教えて下さい。 メインテーブルと、サブデータを作っており、 メインテーブルには、注文書Noと注文者名、日付の1注文書内の重複するフィールドを サブテーブルには、連番(max3)、品名(max3)、金額(max3)の重複しないデータとしています。 以下の様な感じです。 メイン→注文書No  1   2   2   3   3   3 サブ →連番      1   1   2   1   2   3 本当は、注文書Noを主キーにして、同じ注文書Noを入力出来ない様にしたいのですが、インデックス、主キー、リレーションシップで値が重複しているのでテーブルを変更できないというエラーメッセージが出ます。 仕方が無いので、現在は諦めて、以下の様に注文書Noでリレーションシップを組んでいます。なので注文書Noの2度打ちの可能性はあります。 メインIDもサブIDも意味が無いと思っていますが。 メイン                    サブ(主キー設定無し) メインID(オートNo)主キー      サブID(オートNo) 注文書No-----------注文書No 注文者名                   連番 日付                      品名                          金額 私のやりたいことは、一つの注文書Noに対し、max3つまで連番で紐づけて、同じ注文書Noを入力出来ないようにしたいことなのですが。 この様な場合、どの様にデータベースとして、リレーションシップはどの様にして、主キーもどの様にするのが正しいやり方なのでしょうか? リレーションシップも良く理解出来ていない状態ですが、宜しくお願いいたします。

  • access エラーメッセージの変更

    主キーや重複なしのインデックスに設定されているフィールドに対して、既存のレコードと同じデータを入力・保存しようとすると、エラーメッセージが表示されますが、そのメッセージを変更する方法はないでしょうか?

  • Access 分割したテーブルを一対一で結合。新規レコードが作れなくなりました

    過去に同様の質問が無かったようなので質問します。 Access2002です。 これまで顧客名簿を一つのテーブルで管理していたのですが、フィールド数が増えてきたので、 テーブルを5分割しました。 主テーブルに対し副テーブル4つを、主テーブルのID(主キー、オートナンバー型)と副テーブルそれぞれのID(数値型)で一対一結合しています。 下記のようなイメージです。 テーブルA-テーブルB テーブルA-テーブルC テーブルA-テーブルD テーブルA-テーブルE すると、 新規レコードの登録が出来なくなってしまいました。 全部のテーブルを結合させたクエリを作って、そのクエリを基にフォームを作ったり、 主テーブルのフォームに副テーブルのサブフォームを4つ設置したり、 幾つか方法を試みたのですが、どれも同じエラーメッセージが出ます。 ↓ 「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。」 非常に基本的な質問なのかも知れませんが、お手上げです。 どなたかご教授くだされば幸いです・・・。

  • Access2000 更新のタイミング?

    Access2000を使用しています。 1対1のリレーションシップを設定したテーブル「A」とテーブル「B」を作りました。 テーブル「A」にキーを入れると、テーブル「B」からそのキーに対応したデータが表示されるクエリを作りたいと思います。 そのキーに1対1のリレーションを設定しなければ、キーを入力した瞬間に対応したデータが表示されるのですが、1対1、又は、インデックス(重複なし)を設定すると表示されません。 しかし、テーブル「A」にはデータが重複しないようにしたいと思っています。 わかりにくい説明で申し訳ありませんが、お分かりになるかたがいらっしゃいましたら、どうすればこれを回避できるか教えてください。よろしくお願いいたします。

  • ACCESSにインデックス(主キー)のあるテーブルを作りたい

    元データがEXCELでそのデータを利用し、 ACCESS内にマスター用(品目マスタ)のテーブルを作り、 1番目の部品コードというフィールドを インデックス/主キー(重複しない)にして 2番目、3番目の項目の値をえられるように しようとしていますが、EXCELからの元データを インポートしようとしても部品コードフィールドが インデックス/主キーに設定できません。 EXCEL内で部品コードが重複しないように削った つもりです。 部品コードが重複していなくても、いけない文字列 があってインデックス/主キーにできないのでしょうか? ※詳細 以下のようなテーブルをつくり、 284-A80と入力したら製品部品名称の「基板」と いう値や製品分類の「LED」という値を得ようと している。 部品コード    製品部品名称   製品分類 284-A80      基板        LED 7841P20      ヨーク       ブザー CL-270-CD     LED         LED HSDL-3201#001   センサー     センサー ……約17000レコードぐらい ただし、部品コードの値がもっとごちゃごちゃして いて、「*」、「スペース」「#」「_」「/」などや カタカナ文字のものも含まれていたりします。 なぜ、上記の部品コードをインデックス/主キーとして 設定をおこなったテーブルとしてインポート できないのですか?

  • Access2000のリレーションシップのエラーについて

    どのくらい説明すればいいのかわからないのですが、アクセス2000でリレーションシップの設定をするときに、 「主テーブルで参照されているフィールド用の固有インデックスがありません。」 というエラーメッセージが出てきてリレーションを作る事が出来ません。 問題なのは3つのテーブルのリレーションなのですが、それぞれのインデックスをチェックすればいいのだとは思いますが、対象となったフィールドは主キーではないので、重複は許可していますが、一応どちらもインデックスは作成しています。 どのようなリレーションシップかというと、業者テーブルと商品テーブルと販売履歴テーブルのリレーションで、 商品テーブルの業者IDと業者テーブルのIDのリレーション→左内部結合(商品テーブルの全フィールドに入れる) 業者テーブルの業者IDと販売履歴の業者IDのリレーション→右内部結合 は出来るのですが、商品テーブルの商品名と値段フィールドと、販売履歴の対応する部分についてのリレーションについてもたせようとするとエラーが出てしまいます。このようなリレーションはいらないのでしょうか? どちらも固有の値でない量のリレーションだからなのでしょうか? この二つのフィールドの参照整合性をどう保てばいいのか教えて下さい。

  • Access2000 「重複する値を使用できるように再定義して下さい」のエラー回避策。

    Access2000 サブフォームにデータ入力していますが、1件目は重複内容があってもエラーは出ないのに、2件目の項目データ入力時に「重複する値を使用できるように再定義して下さい」のエラー。インデックスで重複有りにしても同様のエラーで入力できません。Access初心者につき、簡単なことかもしれませんが、どうか教えてください。

専門家に質問してみよう