• 締切済み

access フォームで情報表示かつ、データ入力業務について

 accessのフォームでデータ入力業務の場合について。  作成者が退職しており、システムにどうしても理解できない所があり、ご教授願います。  現状、お客様の情報表示(社名、住所等)かつ、お客様に関する調査結果のデータ入力を1つのフォームで表示させています。サブフォームは使用しておりません。  疑問点は、IDをテキストボックスに手入力し、エンターキーを押すと、お客様情報が表示されるという仕組みです。検索ボタン等はありません。それらしき記述もありません。 テーブル1・・・ID、お客様情報  テーブル2・・・ID、調査結果 テーブル3・・・上記全情報の保存用テーブル 選択クエリ・・・テーブル1+テーブル2(IDで結合)(IDは、テーブル2のものを使用) フォーム・・・クエリを基にしたもの。 ・テーブル1は完全にユニークなデータです。 ・テーブル2は調査結果の保存テーブルではなく、「サブフォームを使う事無く、既知の情報表示とデータ入力を1つのフォームで表示できる」ようにする為の、言わば「ダミー」のようなテーブルと思われます。テーブル2に事前に情報入力はしません(フォームで入力する事になります)。またテーブル2を後々参照する事もありません。 ・テーブル3は最終的な保存先です。フォームにはその為の保存ボタンがあります。その際にはADOを使っているようです。(ここらへんは今の私の知識の限界です。)  例えば新規IDをテーブル1に作成します。テーブル1にはデータはありますが、テーブル2にはまだ存在しない状態です。この時点で、その新規IDを抽出条件に、このクエリを実行すると、1行だけ抽出されます。普通に考えれば「抽出結果は0件」ではないかと思うのですが・・・。  新たにシステムを構築する為、この仕組みがどうしても必要なのです。  お願いします。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

全くの勘ですけれど・・・ 選択クエリがInnerJoin(=デザインビューでのID間の結合線が「-」)ではなく LeftJoinまたはRightJoin(=ID間の結合線が「→」又は「←」)になっているのでは ないでしょうか。 この結合の場合、矢印の根元側(「ID1→ID2」ならID1側)のテーブルにデータが あれば、矢印の先側(「ID1→ID2」でID2側)にデータがなくても、必ず1行が 確保されることからの推測です。 (この結合の場合も、該当レコードがあればそのデータが表示されます)

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

見てみない事には・・・ メニューから ツール → リレーションシップ を調べてみれば? 追伸 以前の質問は適当なところで閉じて下さい。

関連するQ&A

  • ACCESS フォームからサブフォームのデータを更新・入力したい

    ACCESS フォームからサブフォームのデータを更新・入力したい tbl_プロジェクトというテーブルにIDとプロジェクトコード、プロジェクトの基本情報を持たせ、f_プロジェクトフォームからプロジェクトコード、件名、契約日等のデータ及び、f_テーマサブフォームにテーマを入力できるようなフォームを作成しています。フォームで入力したものをそれぞれのテーブルに保存したいのですがうまくいかない部分があります。 フォームから入力すると、tbl_プロジェクトに所属する情報は更新されます。そのtbl_プロジェクトに所属するプロジェクトコードをサブフォームのtbl_テーマのプロジェクトコードにも反映したいのですがどのようにしたらよいでしょうか? そういったことは可能でしょうか?分かりにくい説明で申し訳ないですが教えていただけると助かります。よろしくお願いします! DBの構成 【テーブル】 tbl_プロジェクト (1件1件のIDとプロジェクトコードを持つ) (フィールド:P_ID、プロジェクトコード、件名、契約日など) tbl_テーマ(プロジェクト毎に関連のあるキーワードを持つ) (フィールド:P_ID、プロジェクトコード、テーマ)←これのプロジェクトコードにtbl_プロジェクトのデータが入るようにしたい。 tbl_顧客(プロジェクトを依頼した顧客情報を持つ) 【クエリ】 q_テーマ(プロジェクト、テーマ、顧客を抽出するクエリ) 【フォーム】 f_プロジェクト (プロジェクトを1件ずつ表示・参照・新規作成するフォーム) f_テーマサブフォーム (f_プロジェクトフォームのプロジェクトコードにづきテーマを          表示・入力するサブフォーム) リレーションはP_IDをキーに一対多で作成しています。

  • AC2000でフォームから入力したデータをサブフォームに表示

    ID 商品名 単位 単価で商品マスタフォームを作っています。このフォーム内にサブフォームを作っておいて データが入力するたびにサブフォームへ表示させたいのですが、このときの条件としてID(オートナンバー)を降順(最新のデータが一番上になる)・データシート形式にしたいと思います。 T_商品(テーブル名) Q_商品(IDを降順としたクエリ) MF_商品(各入力テキストボックスがあるフォーム) SF_商品(MF_商品に貼り付けるサブフォーム) 降順にすると一番若いIDのデータだけがサブフォームに 表示されるのです。 requeryは必要なのでしょうか? よろしくお願い致します。

  • アクセスのフォームによるデータ入力について

    顧客の販売履歴管理で サブフォーム上に抽出した顧客データをクリックして 入力用のフォームが立ち上がりデフォルト値として抽出した顧客のデータがすでに入った状態にする方法はどうすればよいでしょうか? 顧客データデーブルと履歴テーブルがあり2間は顧客IDでリレーション関係されています。

  • Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

    フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

  • Access2003 フォーム上での表示と入力について

    テキストボックスの入力は「H1710」 フォーム上での表示はH17/10 テーブルに入力されるデータはH1710を使用するこちらが用意した関数結果 この様なことは可能でしょうか? 「一度仮テーブル(H1710)に保存して置いてクエリで関数結果を算出 それが本来のテーブルに入力される。」 方法としてはこの様な感じだと思うのですが・・・ 分かる方お願いします。

  • access2000で存在しないデータを入力した時メッセージを表示させたい

    はじめてaccess2000でファイルを作成する初心者です。 名前(ID)を入力すると、 その方の情報(メインフォーム)と、 情報の変更履歴(サブフォーム)が表示される、 フォームを作成しています。 最初、別のフォームにテキストボックスを作成し、 そこにIDを入力後、ボタンをクリックすると、 クエリ(テーブル)に存在するIDは表示されますが、 存在しない場合は、「存在するIDはありません」 というメッセージを表示し、 メイン・サブフォームの画面には移動しないように したいのです。 ※現在は空のメイン・サブフォームが表示されます。 ちなみに、IDに重複はありませんので、 情報(メインフォーム)は1件しか表示しませんが、 変更履歴(サブフォーム)はIDによって 複数のレコードが存在する場合があります。 説明がわかりにくくて申し訳ありませんが、 回答をお願いいたします。 accessに関する知識がほとんどありませんので、 簡単にできる方法を教えていただけるとうれしいです。

  • ACCESSサブフォームにデータ反映されない

    よろしくお願いします。 Access2010を使っています。 メインフォームにあるテキストボックス2つに条件を入力し、 抽出したデータをサブフォームで表示させたいと思います。 ●メインフォーム名「フォーム1」 テキストボックス2つ「tex1」「tex2」 ●データ元クエリ「q1」 フィールド名「ID1」「ID2」「Name」 ●サブフォームSQL SELECT q1.Name FROM q1 WHERE (((q1.ID1) = Forms![フォーム1]!tex1) And ((q1.ID2) = Forms![フォーム1]!tex2))); フォームを開き、tex1とtex2に入力してもサブフォーム表示が変わりません。 サブフォームをデータシートで別に開くと、データ抽出できていることは確認できました。 サブフォームのコントロールソースへSQLを入力するだけでは、 メインフォーム内でのデータは反映されないんでしょうか??

  • アクセスでデーター抽出方法を教えて

    アクセスで、クエリー&サブフォームを使わず、テーブルのデータをフォーム上で抽出したいです。教えて下さい。(例)テーブル1:商品名A 商品番号2・・・・・、フォーム上で商品番号2と入力したら商品名Aだけを表示したい。

  • Access フォームのデータがテーブルに反映されない

    こんにちは。 現在、アクセスを使って簡単なデータベースを 作っていたのですが、ひとつわからないことがございます。 テーブルを二つリレーションを組んで、 フォームを作ったのですが、 うまく二つのテーブルにデータが 保存できません。 フォーム:顧客ID、名前、電話番号 サブフォーム:商品ID、商品名、納期、など。。。 こういった二つのテーブルで、サブフォームの方のテーブルに 顧客のデータも保存したいんですが、できるものなのでしょうか? 初心者でわかりづらくて、 大変申し訳ございませんが、よろしくお願い致します。

  • ACCESS フォームにデータ入力できません

    まず支払一覧と発注一覧のテーブルを作成後、そのフォームを作成し、そこからデータを入力できるようにと考えていたのですが、入力しようとしても上書きできません。各一覧には、既にリレーションシップおよび内訳金額と摘要が書けるサブフォームと、それらの合計金額のサブフォームが付けてあります。何をどうすれば、フォーム上にデータを上書きすることができるでしょうか。簡単なことで申し訳ございませんが、どなたか教えてください。。宜しくお願いします。

専門家に質問してみよう