プロが教えるわが家の防犯対策術!

Access2003で質問です。
受注管理の出来るものを、製作中です。
まず、製品データ(テーブル)として手入力部、ある一定の決まった物を入力する項目はコンボボックスを利用して入力しています。
これを、受注情報(クリエ)の方へコンボボックスを利用して入力する形をとっています。
その際、次のようなエラーが出ます。
「フィールド”とキーが一致しているレーコードをテーブル’T外注先リスト’で探すことができません。」と、でます。
製品データ入力の際、製品によって不必要な項目は空白にしてあるのですが、それが影響しているようです。
空白部があってもエラーの出ない方法はあるのでしょうか。

A 回答 (5件)

結合方法が1対1なのでは?


結合方法が1対多にすれば、大丈夫だと思いますけどね
あとは、インデックスを割り当てておくこと・・・

で、判るかな^^;;;

この回答への補足

回答ありがとうございます。

>結合方法が1対多にすれば、大丈夫だと思いますけどね
すみません。
結合方法はどこで見れば?とりあえずリレーションシップでリレーションシップの種類を見ると1対多になっています。ここでしょうか。?

>あとは、インデックスを割り当てておくこと・・・
とは。?

まだまだ初心者で、せっかく回答頂いたのに理解できませんですみません。

補足日時:2008/06/10 16:49
    • good
    • 0

これは「エラー」と言うよりも、目的のデータが存在しないだけです。


情報が少ないので、フォームやコンボボックスの作り方が悪いとしかいえません。
少なくともコンボボックスの空白部に「スペース」を使っているなら、これをNull値に変更してみましょう。
でも「製品によって不必要な項目は空白にしてある」という考え方を改めるのが、基本的なアプローチ方向です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
とりあえず不必要な項目には、「なし」と選択肢は設けてはあるのですが、そもそも不必要な項目はわざわざ「なし」を選ばないで空白でもいいじゃないと思っていたのですが、駄目なのですね。

お礼日時:2008/06/10 17:24

リレーションシップの設定方法によるものでしょう。


結合の種類を変えてみてください。
「内部結合」「外部結合」によってエラーメッセージが変わります。
「内部結合」になっていると思いますので、「外部結合」に変えると空白があってもリレーションシップの設定ができると思います。

それでもエラーメッセージが出るようでしたら、元になるテーブルをもう一度チェックしてみてください。

この回答への補足

回答ありがとうございます。
「内部結合」「外部結合」の確認方法がわかりません。

すみません。 情けないです。

補足日時:2008/06/10 17:36
    • good
    • 0

テーブル受注情報がT外注先リストを参照しているのであれば


受注情報入力前に外注先への入力を済ませておかなければならないというのは
テーブルの整合性を維持するためのデータベースの制限です

質問のケースのようなときにはコンボボックスの[リスト外入力]イベントで
T外注への入力フォームを開いてやるというようなインタフェースがよく使われます
    • good
    • 0

#1です


> 結合方法はどこで見れば?
結合方法は、結合している線をみれば、判りますよ
線をクリックして、太くなった時に、ダブルクリックすれば、結合方法を選択可能です

>> あとは、インデックスを割り当てておくこと・・・
> とは。?
えっと、インデックスと言わずに、プライマリキー(主キー)と言った方が判る?
例の通り言えば「製品データ」の重複しないコードのようなフィールドを主キーに割り当てておくと言う話ね
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!