アクセスで検査結果のデータベースを作ろうと考えています

このQ&Aのポイント
  • アクセスで検査結果のデータベースを作ろうと考えています。製品毎に製造番号をつけ、各テーブルの主キーにし、1対1のリレーションを作成します。他のテーブルに追加する際に「0件のレコードを追加します」と表示される場合がありますが、入力は適当に行っているため、実現方法について教えてください。
  • テーブルを分割せずに製品の詳細情報を一括して登録するために、製造番号を含むテーブルを作成しました。追加クエリで他のテーブルに自動で登録したいのですが、「0件のレコードを追加します」と表示されてしまいます。どのように実現するか教えてください。また、テーブルを分割するべきか統合するべきかも教えていただけると幸いです。
  • アクセスで検査結果のデータベースを作成する際に、製品ごとに製造番号をつけ、各テーブルの主キーとして使用します。テーブルは検査のタイミング毎に分けており、検査項目をフィールドに設定しています。製造番号を他のテーブルにも自動で登録するためには追加クエリを使用しますが、「0件のレコードを追加します」と表示されてしまいます。登録方法やテーブルの分割・統合についてアドバイスをいただけると助かります。
回答を見る
  • ベストアンサー

アクセスの追加クエリについて(1対1リレーションシップの場合)

お世話になります。 似たような質問はあるのですが、どれもしっくりこないので質問させて下さい。 アクセスで検査結果のデータベースを作ろうと考えています。 アクセスでデータベースを作製するのはこれが初めてです。 1製品毎に製造番号をつけ、各テーブルの主キーにしています。 テーブルは検査のタイミング毎に分け、それぞれの検査項目をフィールドに設定しています。 この方法だと各テーブルのリレーションは1対1になります(よね?) それで、新たに製品の詳細(製造日や数量など)を一括して登録したいと考え、製造番号を含むテーブルを作成しました。 このテーブルで入力した製造番号を他のテーブルにも自動で登録したいので、追加クエリでやろうとするのですが、 「0件のレコードを追加します」と出てしまいます。 データは適当にですが、入力はしています。 どうすれば実現できるのでしょうか? また、テーブルを分割しなければ製造番号を追加する必要もない訳ですが、 1つのテーブルに統合するべきなのでしょうか? その場合はフィールドは50個ぐらいになってしまいます。 大変お手数ですが、ご教示頂けると幸いです。 よろしくお願いします。

  • kkke
  • お礼率71% (66/92)

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

  • ベストアンサー
noname#192382
noname#192382
回答No.1

<1製品毎に製造番号をつけ、各テーブルの主キーにしています。 テーブルは検査のタイミング毎に分け、それぞれの検査項目をフィールドに設定しています。 検査のセクションごとにテーブル1、テーブル2・・・を作ります。勿論各テーブルに製造番号のフィールドをいれてあります。 <それで、新たに製品の詳細(製造日や数量など)を一括して登録したいと考え、製造番号を含むテーブルを作成しました。 これをメインテーブルとし、この中にフィールドとして製造番号をいれます。 製造番号はどのテーブルもテキスト型に統一します。 メインテーブルとセクションのテーブルの間にリレーションを設定しますが、結合の種類をメインテーブルの全部とセクションのテーブルの同じ結合データにします。こうすればセクションごとのテーブルにメインテーブルの製造番号を入れることが出来ます。

kkke
質問者

お礼

早速のご回答有り難うございます! おっしゃるとおりに設定してみました。 するとメインテーブルの方に+マークが入り、 セクションテーブルのフィールドが参照されるようになりました。 セクションテーブルの方は何の変化もありませんが、 これでよいのでしょうか??

kkke
質問者

補足

すみません!! データを入力してみたら、セクションテーブルに反映されました。 ここで1週間停滞していたので、やっと先に進めそうです。 本当にありがとうございました。 多分またつまづくと思いますので、 その時は投稿するかもしれません・・・(^^;) よろしくお願いします。

関連するQ&A

  • アクセス2003の追加クエリでのエラーについて

    先日も同様の質問をさせて頂いたのですが、 結局うまくいかなかったので、どうかまた知恵を授けて下さい。。。 アクセスで検査結果のデータベースを作ろうと考えています。 アクセスでデータベースを作製するのはこれが初めてです。 1製品毎に製造番号をつけ、各テーブルの主キーにしています。 テーブルは検査のタイミング毎に分け、それぞれの検査項目をフィールドに設定しています。 理想としては、「検査品目登録」のテーブルに製造番号や製品名などの 詳細を入力すると、他のテーブルの製造番号にも自動で反映させたいのです。 思いついたのは追加クエリだったので作ってみたのですが、 「型変換エラー」になります。どうも過去に入力したデータの 件数だけエラーになるみたいです。 どうすれば回避できるのでしょうか? また、そもそもの設計がまずいのでしたらご指摘頂きたいです。 大変お手数ですが、ご教示頂けると幸いです。 よろしくお願いします。

  • ACCESS2000 更新クエリで文字を追加・変更したい

    ACCESS2000のマクロでCSVファイルをインポートし、Excelに出力しています。 そこで途中に更新クエリを使い、文字の追加・変更を行いたいのですが何故かうまくいきません。。。 【テーブルA】 フィールド/受注番号(910004292) 【テーブルB】 フィールド/出荷番号(910005232)/製造番号(910005451) 【テーブルC】 フィールド/受注番号(910005232)/製造番号(910005451)/納期(1021) 受注、出荷、製造の各フィールドは先頭に"0"を追加したいです。 910004292→0910004292 納期は2009/10/21となるように、現在の西暦(できれば自動)/と3桁目にスラッシュを入れて、yyyy/mm/dd形式にしたいです。 更新クエリで フィールド:受注番号 テーブル:テーブルA レコードの更新:"0"&[受注番号] と入力してやるとうまくいきました。 同じように横のフィールドに フィールド:受注番号 受注番号 ・・・ テーブル:テーブルA テーブルB ・・・ レコードの更新:"0"&[受注番号] "0"&[受注番号] ・・・ と各テーブルの全てのフィールドを入力して更新すると、 レコードに物凄い数の"0"が追加されてしまいます。 例:0000000000000000910004292 何度も繰り返しているようなのですが、なぜなんでしょうか? 更新クエリを別々に作ればそれぞれうまくいきました。 ひとつのクエリに複数のテーブルのフィールドを入れると駄目です。 また、納期について1021→2009/10/21にうまく変更する方法はありますでしょうか? 分かりにくくて申し訳ありませんが宜しくお願いいたします。

  • Access2010 クエリー

    こう言うQueryは出来ますか? 社員テーブル 社員番号 社員名 製造関係者テーブル 製品番号 設計者#1 製造者#2 検査者#3 (各担当者はそれぞれ別で、全て社員テーブルに登録されています。) 欲しいQuery、 各社員番号#で社員テーブルから社員名を拾って 製品番号 設計者#1 設計者名 製造者#2 製造者名 検査者#3 検査者名 よろしくお願いします。

  • ACCESS 追加クエリでレコード数の指定したい

    Win XP Access2003 見積伝票を作成しております。サブフォーム(帳票フォーム)の登録方法でご教授お願い致します。 "伝票明細テーブルW"(伝票番号,行番号,内容、数量、単価、・・・)を基にした "伝票明細クエリW"を作成し、入力しやすいようにフォームを開いた時に行番号(連番)を振り、30行表示するようになっています。 入力確認後に登録ボタンをクリックして追加クエリを開き"伝票明細テーブルW"から"伝票明細テーブル"に30件レコード保存するようになっているのですが、 場合によって内容が2~3行で終わる時があります。 このような時に無駄に30行のレコードを保存せず"内容"(フィールド)が入力されているの最終レコードまでで伝票明細テーブルに追加したいのですが、よい方法がありましたら宜しくお願い致します。 "内容"(フィールド)は途中に空白の時があります。 行番号    内容        数量  1     オイル交換      3.0  2  3     タイヤ交換       4.0

  • アクセスのリレーションシップとクエリ

    私は、アクセスの初心者です。なので、難しいことはよく分からないのですが、アクセスではある1つのフィールドをキーにしてくっつけたりすることができるじゃないですか?そのキーを設定したりするのはリレーションシップでも、クエリでも同じような感じで行うと思うのですが、その2つの違いはクエリはそれをテーブルとして表示できるのに対して、リレーションシップはただ定義するしかできずテーブルとして表示はできないのでしょうか? あと、クエリとかである条件で抽出したテーブルの1つのフィールドのSUMを出したいのですがどういった条件式を書けばいいのでしょうか? なにぶん、初心者ゆえに質問が分かりにくいと思いますが、どうかよろしくお願いします。

  • Access 追加クエリについて

    こんにちは! Accessについて、質問させていただきます。 追加クエリを5つ作成したのですが、『複数値を持つフィールドをINSERT INTO クエリに含めることはできません』とエラーが出ます。 調べたところ、ルックアップウィザードに追加クエリが使用できないものと思われます。 追加クエリの元になるテーブルには、ルックアップウィザードを適用しているフィールド(他のテーブルから値を取得している)が複数あります(フィールド名:取次名・担当者名・形態)。 ちなみに、5つの追加クエリのうち1つはルックアップウィザードのフィールド(値を手入力で設定)も1つありますが正常に作動しています。 何か解決策はありますでしょうか? よろしくお願いします!!

  • accessのクエリで入力が不可能…

    【テーブルA】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔テキスト型〕 フィールド4〔数値型〕 【テーブルB】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔数値型〕 フィールド4〔テキスト型〕 となっています。 両方のテーブルを使い、クエリを作成しました。 リレーションが、テーブルAのフィールド1と、テーブルBのフィールド3に設定してあります。 このようにして作成したクエリでデータの入力ができません。 なぜでしょうか? Access2000です。

  • アクセスの追加クエリで、

    アクセスの追加クエリで、テーブルにデータを追加したいのですが、追加するデータと追加されるデータを照らし合わせて、完全に一致しない物だけを追加するにはどうしたら良いですか? 6フィールドあり、全てが一致するデータはありませんが、5フィールドだと一致してしまう物があります。 誰か教えて下さい。よろしくお願いします。

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

  • Accessのクエリでレコード追加

    Access初心者です。 バージョンは2010をつかっています。 テーブルを14テーブル含み、フィールド数が100ほどある選択クエリを作りました。 抽出条件などは設定していません。 このクエリで新しくデータを入力、レコードを追加し、上書き保存した後クエリを閉じます。 それからまた、そのクエリを開くとレコードが追加されていません。 テーブルにはその入力したデータは追加されています。 このクエリにもそのデータを追加表示させるためにはどうすればいいですか? 表示されない原因はなんなのかお教えお願いします。

専門家に質問してみよう