• 締切済み

accessでフィールドを連携させたい

access2002をつかっています。 テーブルAの中のリストに、IDのフィールドがあり、 そこにひもづいたテーブルBがあります。 (例えば、テーブルAが人のデータで、  テーブルBがその人との対応履歴です。) フォームで、テーブルAの一覧リスト(表形式)がまず見られるものをつくりました。 そこから、「詳細をみる」というボタンをつけて、 押すと、リストBの中でひもづいているものだけ見えます。(単票形式で) 見る分にはこれでよかったのですが、 そこから新規にテーブルBに書き込むときに、 AのIDを勝手に書き込んでほしいのです。 (引き継いでほしい。) でも、現状では、そのボタンを押して、 その先で新規に、Bへデータを書き込もうとすると、 ID部分は引き継がれません。 最初からサブフォームなどのウィザードでつくれば よかったのかもしれませんが、 この状態からうまくできる方法はありませんか? とっても分りづらい説明で申し訳ないのですが、 もしわかる方がいらっしゃいましたら、教えてください。

みんなの回答

  • doredore1
  • ベストアンサー率38% (13/34)
回答No.1

こんばんは。 フォームBをサブフォームにしてはいかがですか? フォームAをデザインビューで開きデータベースウィンドウから フォームBをフォームAにドラッグするとサブフォームになります。 これなら、フォームBを書き込んだときにフォームAのIDを取得できると思います。 ただし、フォームAが単票形式になってしまいますが・・・。 こんなんでは、ダメですか?

sacsac5
質問者

補足

ありがとうございます。 でも、単票形式ではなく、表形式から データを引き継ぎたいのです。。。。 他にいい方法ありませんでしょうか? でも、ウィザードを使わずにサブフォームを 入れるやりかたがわかって、勉強になりました。 ありがとうございました。

関連するQ&A

  • アクセス フィールド 500個

    アクセスでは、1テーブルでフィールド個数が255までと、制限があるようですが、1レコードに500個のフィールドが必要となりました。2個のテーブルを開いて、500個のフィールドに対して、レコードを単票形式で入力できる様にするには、どうしたらよろしいか?よろしくお願いいたします。

  • アクセスのテーブルのフィールド自動セット

    アクセスのテーブルAに、フィールドfA(1)、fA(2)、fA(3)があるとします。 このフィールドfA(1)のデータ型としてルックアップウィザードを選択し、参照先を別のテーブルB、登録するデータとしてはテーブルBのフィールドfB(1)を指定したとします。 ただし、ルックアップに表示するデータとしては、fB(1)、fB(2)、fB(3)の3つを指定します。 テーブルAに新規でレコード登録をする際、まずフィールドfA(1)にデータを入力するため、フィールドfA(1)の▼マークをクリックすると、テーブルBに登録されているレコードのfB(1)、fB(2)、fB(3)が全てリストアップされるはずです。 そこで、そのリストの中からある一つのfB(1)、fB(2)、fB(3)のデータのセットを選択すると、テーブルAのfA(1)、fA(2)、fA(3)に、その選択したfB(1)、fB(2)、fB(3)がそれぞれセットされるようにしたいのです。 フォームを使って、フォーカス喪失時のイベントを利用すればそのようなことができるのはわかるのですが、フォーム等を利用せず、テーブル及びクエリだけでこのようなことをしたいと思っています。 不可能でしょうか?

  • アクセス2007 コマンドボタン ウイザード

    2007を使い始めたところですが、教えてください。単票フォーム(A)のデザインで、コマンドボタンを貼り付けて、別単票フォーム(B)を「フォームを開く」のをウィザードを利用して行おうとしています。その中で、「特定のレコードを表示する」を選択した場合、フォーム(B)のフィールドだけ表示されて、フォーム(A)のフィールドが表示されません。2002では、両方表示されて、「<ー>」ボタンを押せば、うまく目的のレコードの単票フォームが表示されていたのですが、どうなっているのでしょうか?・・・・・・フォーム(A)のフィールドが表示されません。・・・・・・よろしくおねがいします。

  • ACCESS サブフォームのフィールドにカーソルをあてる

    ACCESS2003で、VBAで簡単なプログラムを作っています。 <やっていること> ・フォームAからフォームBを開きます。 ・そのときにフォームAの番号と一致するデータをフォームBに表示します。 ・フォームBにはサブフォームCが埋め込んでいます。 このサブフォームCの中のフィールドDにカーソルが入っているようにしたいのですが、 Forms!サブフォームC!フィールドD.setfocus としたら、「カレントレコードには、フィールドDという名前のフィールドはありません」というエラーがでます。 フィールドDというフィールドは存在しています。 このような場合、どのように記述するのがよろしいのでしょうか。 よろしくお願いします。

  • Accessでグループ化した結果フィールドをつなげるには?

    Accessでグループ化した結果フィールドをつなげるには? Access2003で 区分/コード A/123 A/456 A/789 B/234 B/567 というテーブルがあり、グループ化すると、区分Aのコードは123、456、789、 区分Bのコードは234、567と表示や印刷することはできます。 (たとえば、フォームやレポートのサブフォームなどに各コードを表示することはできます) これを、 フィールド1/フィールド2 A/123456789 B/234567 というふうにコード部分を1つのフィールドにつなげることは可能でしょうか? 上記のように、区分Aのデータ件数は3件、区分Bは2件というように コードのデータ件数はまちまちですが、それに対応してつなげたいと考えております。 よろしくお願いいたします。

  • ACCESSのフォームで入力したデータをテーブルに追加したい

    初歩的な質問だとは思いますが、自分の思うようにならず困っています。 テーブルのデータを元に日付のみメインフォームで単票形式で表示し、日付以外の項目はサブフォームで表形式で入力するフォームを作成したのですが、サブフォームの表形式の最後の行がいつも空白になり、そのデータが日付のみ入力され、テーブルのフィールドに追加されています。 説明がうまくできずわかりにくいとは思いますが、分かる方よろしくおねがいします。

  • アクセスのサブフォームが編集可能な状態で表示されない

    ■バージョン:Access2003 ■使用経験:Accessはつい最近使い始めたばかりで、初心者レベルです。    (ヘルプ及びいくつかのサイトを参考にしながら使っています) ■質問内容:   データをテーブルに登録するためのフォームを作ろうとしています。   登録するテーブルは、商品テーブルと商品明細テーブル(1対多)のヘッダ明細型です。   まず始めに商品テーブルへデータを登録するフォームを   クエリを使用してウィザードで単票形式で作成しました。   次に、商品明細テーブルへデータを登録するフォームを   クエリを使用してウィザードでデータシート形式で作成しました。   次に、始めに作った単票形式のフォームに、2番目に作ったデータシート形式のフォームをサブフォームとして組み込みました。        その後、デザインビューからフォームビューに切り替えたところ、   単票形式にした1つめのフォームは入力できる状態になっているのですが、   サブフォームとして組み込んだデータシートビューのほうが   列のヘッダ(「商品名」等の列タイトル)しか表示されておらず、   入力できるような白いセルが表示されません。   (列タイトルの下は一面グレーとなっています。    デザインビュー上では登録したい項目が全て表示されています。)   関係あるのか不確かですが、サブフォームのプロパティで   「フォームビューの許可、更新の許可、追加の許可、データ入力用」などは「はい」にしてあります。   サブフォームのデータシートにデータを入力できるようにするには   どうしたらよいのでしょうか。   入力できなくなってしまう原因がテーブル構造等にあるのでしたら、   テーブルの構造をもう少し詳しく書かせて頂こうと思います。   何卒よろしくお願い申し上げます。

  • アクセス2000について

    アクセス2000でデータベースを作成しています。 幾つかのテーブルをリンクさせて、リンクしたテーブルからフィールドを選択してクエリを作り、そのクエリに基づいて単票形式のフォームを作成しました。 単票フォームの基になっているクエリを使って、表形式のフォームをオートフォームウィザードで作成しようとすると、「インデックスが有効範囲にありません。」というメッセージが出てきてフォームが作成できません。 どうしたらいいのでしょうか?誰か教えてください。

  • 2つのサブフォーム間でデータの連携

    今、ある単票フォームに、2つのサブフォームを配置し、そのサブフォーム間で金額の連携をしたいと考えています。 【親フォームA】 ・ID1、長整数型(主きー) ・受付日時 ・発注金額総合計 <== ※Bが更新されたら、ここを更新したい 【サブフォームB】 ・ID2、長整数型(主キー) ・ID1(外部キー) ・発注日 ・発注合計金額 <=== ※Cが更新されたら、ここを更新したい ==> Aの更新へ↑ 【サブフォームC】 ・ID3、長整数型(主キー) ・ID2(外部キー) ・発注項目名 ・単価 ・数量 ==>ここを更新する→Bへ↑ ・単位 ==>ここを行進する→Bへ↑ ・摘要 サブフォームB、Cは、いずれも帳票型です。 それぞれ、テーブルA, B, Cがレコードソースで テーブル構成は、上の項目の構成と同じです。 A-ID1: B-ID1 = 1:多 B-ID2: C-ID2 = 1:多 この時、Cで単価と数量を入力したら、Bの発注合計金額の値を更新したいです。 それと同時に、親Form Aの「発注金額総合計」の値を、Bの全てのレコードの「発注合計金額」のSumで更新したいです。 よろしくお願いします。

  • ACCESSのフォームとサブフォームについて

    いつもみなさんにはお世話になっております。 ACCESS2000を使用しています。 テーブルA,B,Cを用意しフォームにサブフォーム、リストボックス、ボタンを配置し、リストボックスの表示内容(A,B,C)に合わせてボタンクリックでサブフォームの表示テーブル(A,B,C)を変更したいのですがどうしたら良いのか解りません。 みなさんどうかよろしくお願いします。

専門家に質問してみよう