アクセスでAテーブルからフォームを作り、そのフォームに別のテーブルBにある項目を追加したいのですが、
A,Bはnoでリレーションが設定してあります。
ツールボックスからテキストを追加してコントロールソース設定しましたができませんでした。
マクロで値の代入しましたが設定が違うのかできませんでした。
できるだけ簡単な方法でお願いします。

A 回答 (2件)

テーブルBをレコードソースとしたフォーム 


を作成してテーブルAのフォームにnoを連結フィールドとした
サブフォームとして埋め込めば
おそらくdesk34さんの求めている結果になるとおもいます。

テーブルAに対してテーブルBは1レコード以下であるならば
サブフォームのレコードセレクタなどを全て取っ払ってしまえば
テキストボックス様になります。(あまりお勧めしませんが)
    • good
    • 0
この回答へのお礼

ありがとうございました。
ちゃんとデータ移行できました。

お礼日時:2001/06/15 11:44

バージョンは2000でしょうか?プロジェクトとデータベースで


若干違うのですが
データベースであれば
リレーションどっちがどう 1対多なのかわからないのですけど
Bテーブルの項目を含んだクエリーを作成して
そのクエリーでフォームをつくるのがよろしいかと思いますけど。

この回答への補足

バージョンは2000も97でもどちらでもOKです。
Aが1Bが多でリレーションくんであります。
ちょっと説明が足りなかったですがAからのフォームは既にあってそれに1項目だけ追加したいのですが。
更新クエリーでマクロでクエリーを開くをやったのですが、上手く更新できませんでした。
よろしくお願いいたします。

補足日時:2001/06/13 08:50
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

QAccessで、フォームAからダイアログモードで立ち上げたフォームBを開き、フォームBを閉じた時にフォームA側でマクロを実行したい

タイトルのままなのですが、

フォームA(メインとなる画面)と
フォームB(コードの検索画面)があり、
フォームAからフォームBをダイアログモードで開いている状態から、
フォームBを閉じたときに、フォームA側でマクロを実行したいと思っています。

具体的には、フォームAにコード入力用のテキストボックスがあり、コード検索のためにフォームBを立ち上げ、コードを選択した後フォームAのテキストボックスにそのコードを入れて、そのコードの値を元にフォームAにあるコンボボックスの再クエリを行いたいのです。

コンボボックスの再クエリの方法等は理解しているのですが、
上記のような場合に、どのイベントがキックされるのかが分かりません。
どのようにすれば(どのイベントを選んでマクロを指定すれば)適切に実行できるでしょうか。

Aベストアンサー

フォームBの処理
「値の代入」
「オブジェクトの選択」
  オブジェクトの種類:フォーム
  オブジェクト名:フォームA
「再クエリ」
  コントロール名:コンボボックス名
でいかがでしょうか?

QAccess テーブルAにテーブルBのデータを追加

Accessで、テーブルAにテーブルBのデータ(全部)を追加したいです。
初歩的な質問でスミマセン。

Aベストアンサー

簡単にやるにはテーブルBのクエリをクエリウィザードで作り そのクエリをテーブル追加クエリにすれば簡単にできます。
クエリウィザードで作ったテーブルBのクエリをデザインビューで開きメニューのクエリにある追加を選ぶかデザインビュー上で右クリックでクエリの種類から追加を選びます。
追加を選ぶとテーブルを選択できますのでそこでテーブルAを選びます。テーブルBとテーブルAのフィールド名が同じならレコードの追加欄にフィールド名が自動で表示されます。フィールド名が異なる場合はレコードの追加欄をクリックしてテーブルAの追加先のフィールド名をそこで指定します。
クエリを保存します。
保存したクエリをダブルクリックすればテーブルBのレコードがテーブルAに全部追加されます。

Qアクセスで複数テーブルをひとつにする方法 以下3つのテーブルがあります。 Aテーブル Bテーブル C

アクセスで複数テーブルをひとつにする方法

以下3つのテーブルがあります。
Aテーブル
Bテーブル
Cテーブル
共にフィールド数、フィールド名は共通です。
3つのテーブルのレコードをまとめてDテーブルを作る場合はどのように操作するのでしょうか?

Aベストアンサー

「ユニオンクエリ」について調べてください。

Qaccess2013 フォームで計算した値をテーブルに代入したい

Accessを始めたばかりのものです。
テーブルからフォームを作成しました。
フォーム上で計算が可能である事を知り、一部のフィールドの値は計算で求めるようにしました。
が、計算式を入れたため、非連結フィールドとなり、テーブルに値が入力されなくなることを知りました。
テーブルには計算結果を保存しないのが基本という事も知らなかったのですが、
計算式が複雑なので、フォームで計算した値をテーブルにも反映する方法を探しています。

いろいろ探して、マクロビルダーで値の代入に挑戦していますが、うまくできません。
練習用ファイル(本番ファイルをコピー)では1度うまくできたのですが、本番のファイルではうまくできません。本番ファイルで挑戦中に一度Accessが異常終了してしまったためか、練習と同じ操作をしていても入力される結果が異なります。
マクロビルダー起動、値の代入を選択、のあとに表示される アイテムの欄に代入したいテーブルのフィールドを選択し、式の欄にはフォームのフィールド=テーブルのフィールドとしていますが、マクロを実行すると指定した名前が見つかりませんと表示されます。

初心者が手を出す領域ではないのだと思いますが、マクロビルダーの使い方を含めて教えて頂けるとありがたいです。

Accessを始めたばかりのものです。
テーブルからフォームを作成しました。
フォーム上で計算が可能である事を知り、一部のフィールドの値は計算で求めるようにしました。
が、計算式を入れたため、非連結フィールドとなり、テーブルに値が入力されなくなることを知りました。
テーブルには計算結果を保存しないのが基本という事も知らなかったのですが、
計算式が複雑なので、フォームで計算した値をテーブルにも反映する方法を探しています。

いろいろ探して、マクロビルダーで値の代入に挑戦しています...続きを読む

Aベストアンサー

フォームの非連結コントロール名をA
テーブルのフィールド名をBとした場合

アイテム:[B]
式:[A]

QAccess、同じテーブルの2つの項目対他のテーブルで1つの項目のリレーションは可能?

Accessで販売管理をしています。
以下のテーブルを作成し(*は主キーです)、

[売上T]  [商品M]  [顧客M]  [受注T]
*売上NO  *商品ID  *顧客ID1  *受注NO
商品ID   商品名    *顧客ID2  商品ID
日付    顧客ID1     顧客名    受注日
金額    顧客ID2            受注金額
       受注先1
       受注先2

参照整合性にチェックを入れリレーションでつないでいます。
リレーションシップは下記のとおりです。

[売上T]商品ID―[商品M]商品ID―[受注T]商品ID
[商品M]顧客ID1及び2―[顧客M]顧客ID1及び2―[商品M]受注先1及び2

ここで顧客と受注先が重複することもあるので、顧客Mから顧客ID及び受注先IDの2つのテーブルにリレーションシップを設定しているのですが、
クエリで  [受注T]受注NO及び受注金額、[顧客M]顧客名で抽出したところ、
5000件以上[受注T]にデータがあるはずのものが、1200件ほどしか抽出できませんでした。

ちなみに[顧客M]と[受注用顧客M]というまったく別のテーブルを作成し、
[商品M]受注先1及び2―[受注用顧客M]顧客ID1及び2
とリレーションを作成し、クエリで抽出するとうまくいきました。
しかしこの方法だと、[顧客M]と[受注用顧客M]という2つのテーブルを管理しなければならなくなるので面倒です。


そこで質問です。
同じテーブルの2つの項目対他のテーブルの1つの項目とでは、うまくリレーションが設定できないのでしょうか。

もし出来ない場合、[顧客M]と[受注用顧客M]の2つのテーブルを管理しなければならない訳ですが、
なんとか簡単に管理できる方法(ひとつのテーブルを変更すると簡単にもうひとつが変更できる設定)はないでしょうか。

非常にわかりにくく長い文章で申し訳ありません。
VBA等はさっぱりわかりませんので、普通の設定の範囲内で、できるかどうかよろしくお願いします。

Accessで販売管理をしています。
以下のテーブルを作成し(*は主キーです)、

[売上T]  [商品M]  [顧客M]  [受注T]
*売上NO  *商品ID  *顧客ID1  *受注NO
商品ID   商品名    *顧客ID2  商品ID
日付    顧客ID1     顧客名    受注日
金額    顧客ID2            受注金額
       受注先1
       受注先2

参照整合性にチェックを入れリレーションでつないでいます。
リレーションシップは下記のとおりです。

[売上T]商品ID―[商品M]商品ID―[...続きを読む

Aベストアンサー

リレーションシップとクエリでの結合を混同していますね

>ちなみに[顧客M]と[受注用顧客M]というまったく別のテーブルを作成し
>[商品M]受注先1及び2―[受注用顧客M]顧客ID1及び2
>とリレーションを作成し、クエリで抽出するとうまくいきました。
クエリでこのように結合すればいいだけですから、[受注用顧客M]など作らず
クエリデザインビューに顧客Mを2度ドロップすればいいのです


人気Q&Aランキング

おすすめ情報