- 締切済み
Accessのクエリでデータの入力ができません
Access2000を使っている超初心者です。 参考書に基づいて、2つのテーブルをリレーションシップして、選択クエリを作成したのですが、このクエリから既存データの修正をしようとすると入力できません。また、最終行に*マークの新規データ入力欄がなく、データの追加もできません。 フォームの方もこのデータソースをテーブルのひとつににすると*マーク行が出て入力できるのですが、このクエリにすると*マーク行が出てこないです。 参考書のとおりやってるつもりなのですが、何が原因でしょうか? よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- yeslets
- ベストアンサー率31% (47/151)
最初に確認することは「リレーションシップ」です。リレーションシップで「多対多」になっているとおそらく新規データの入力はできません。参考書では「1対多」になるようにテーブルが作られているはずですが、インデックスが「重複あり」になっているフィールド同士を繋げると、多対多になってしまいます。この状態でしたら、テーブルを確認し、インデックスを見直してください。 次にクエリのデザインで、リレーションシップのあるフィールド(たとえば「商品コード」)をリレーションシップの「1」の側のテーブル(商品マスタなど)から持ってきていると、新規データの入力はできません。多の側のテーブルから持ってきてください。 最後にやはりクエリのデザインで、リレーションシップのない(線が繋がっていない)テーブルがあると、新規データの入力はできません。たとえば、テーブル構造が 売上データ←商品マスタ←倉庫マスタ (矢印のついている方が多、ついていない方が一側のテーブル) となっていて、クエリでは売上データと倉庫マスタしか表示させていないと、それぞれ独立したテーブルとなってしまいます。この場合には、商品マスタを表示させれば、入力できるようになります。
- ja7awu
- ベストアンサー率62% (292/464)
No.4 に書かれている下記の内容について、このようなことは、ないと思います。 こういう場合、書いていいものか迷いましたが、初心者の方も見ていると 思いますので、気になって書き込みました。 <<データの追加もできません。 クエリは入力済みのデータの中から選択・抽出などをするわけですから、当然新規データ入力欄はありません。 ※ こういうことは、ないと思います。 なお、「データの追加もできません。」については、No.5の方の内容が 参考になるかと思います。 追加入力に支障ないようなインデックスの付け方、結合の仕方をしているかどうか だと思います。
お礼
アドバイスありがとうございます。 おっしゃるとおり、参考書ではクエリからデータを入力するような指示になっています。 もう一度最初からやってみます。
テーブルのキー設定、リレーションの設定がうまくできていないのでしょうね。 うまく伝わるかどうかわからないのですが、商品マスタに同じ商品コードが複数ある状態で、売上伝票を追加しようとしても、「どっちの商品コードかわからない」ので追加できない!、って状態だと思います。クエリーにしたら、件数が増えていません? 1対複数になるようにするとうまくいくと思います。 マスタになるテーブルのフィールドを主キーなど(インデックスは重複なし)にして、もう一つのテーブルとくっつけるように設定してみてください。
お礼
ご回答ありがとうございます。 初心者なので、もう一度参考書を読み直して、トライしてみます。
- gura_
- ベストアンサー率44% (749/1683)
<<修正をしようとすると入力できません。 多分その項目をクエリの選択条件などに使っているのだと思います。 <<データの追加もできません。 クエリは入力済みのデータの中から選択・抽出などをするわけですから、当然新規データ入力欄はありません。 いずれにしても、参考書をよく読まれることをお勧めします。 クエリについては、それだけを書いた本も売られています。それだけ難しいということかも知れません。 クエリ専門の本を読まれるのも一案化と思いますが。
> でも、参考URLは何のことかわかりません。 それなら、こちら↓の2つを。 http://www.hyuki.com/writing/techask.html http://java-house.jp/ml/archive/j-h-b/007317.html#body
- Hageoyadi
- ベストアンサー率40% (3145/7860)
クエリのレコードセットが「スナップショット」になってませんか? データシートビューで表示されているクエリをデザインビューに切り替えます。 フィールドリストの何も無い部分を(フィールドと書かれてるすぐ左あたり)をクリックしたから、ツールバーの「プロパティ」ボタンをクリック。 画面上に「クエリプロパティ」が開きます。その中の「レコードセット」という項目の右横に「スナップショット」と表示されていたらビンゴです。▼ボタンから「ダイナセット」を選択して閉じてから、もう一度お試しください。 外してるかもしれないので、自信なし。
お礼
ご回答ありがとうございます。 しかし、「ダイナセット」になっておりました。
こちら↓が参考になると思います。 [ 質問の仕方 ] http://www.amy.hi-ho.ne.jp/~lepton/program/prog/prog19.html
お礼
早速のご回答ありがとうございます。 でも、参考URLは何のことかわかりません。
お礼
詳しいご回答ありがとうございます。 いろいろやってみましたが、うまく行きません。 最初からやり直してみます。 ありがとうございました。