• 締切済み

クエリの変更をフォームに連動

かなり初歩的な質問なのですが、Aクエリを元にAフォームを作成した 場合、Aクエリのフィールドを変更した時、Aフォームの内容に連動して変更できないのでしょうか? フォームを作った後で、追加する場合フォームを作り直すしかないのでしょうか?

みんなの回答

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

レコードソースのクエリへのフィールド追加は、フォームに自動的に反映することはできません。 ただ、追加したフィールドに相当するコントロールを追加することはできます。 1)該当フォームをデザインビューで開く 2)メニューで「表示(V)→フィールドリスト(L)」を選択 3)『フィールドリスト』ダイアログ(?)が表示されるので、そこから、追加したフィールドをドラッグ&  ドロップ 4)フォームを保存して閉じる ・・・以上です。 こうすると、追加したフィールドと同じ名前の連結コントロールが追加できます。 なお、特定のコントロールにしたい場合は、予めツールバーでそのコントロールを指定してから フィールドリストからのドラッグ&ドロップを行います。 (テーブルやフィールドで、表示の際に使用するコントロール(コンボボックスなど)を指定済みの  場合は、ツールバーで指定しない限り、その指定が使用されます) また、プロパティシートなどを使って(コントロールのダブルクリックなどで表示可能)、 追加したコントロールの設定を変更することもできます。 (コントロールの種類を変える場合は、メニューで「書式(O)→コントロールの種類の変更(H)」  から行えます:  但し、変更できるコントロールの種類には制限があります)

sskj
質問者

お礼

自己解決しました。 レコードソースを変更すれば良いのですね。

sskj
質問者

補足

私の説明が不適切だったので補足します。 フォームを作成後にクエリのフィールドを変更(消去)すると 変更したフィールドがフォームにパラメータ入力として 出てしまいます、これはどのようにすればよいのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

連動はしません デザインビューでフィールドリストを表示して ひとつずつ変更します

sskj
質問者

お礼

自己解決しました。 レコードソースを変更すれば良いのですね。

sskj
質問者

補足

私の説明が不適切だったので補足します。 フォームを作成後にクエリのフィールドを変更(消去)すると 変更したフィールドがフォームにパラメータ入力として 出てしまいます、これはどのようにすればよいのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスのフォームのフィード名の追加。。。

    いつもありがとうございます。 アクセス初心者なのですが、今フォームをウィザードを使って作成しました。 後になって気づいたのですが、フィールド名が1つ足りなかったのです。。。 フォームの作成の元にしたクエリに原因がありまして、クエリーのフィールドにその1つが入っていなかった様です;; フォームのフィールドの追加もわからないので、クエリからおかしくなっていて 先に進めず困ってしまいました:: ホントいつも初歩ですいません。。。。。 みなさんはアクセスどのくらいでマスターされましたか? 独学でいろいろやるのは、ムズカシイですね。。。。

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • ACCESSで空のフォームにクエリの値を追加する方法

    ACCESSで空のフォームにクエリの値を追加する方法 ACCESS2007を使っています。 フォームで空のフォームから始めた時やウィザードでテーブルやクエリを 対象とした場合でも、別のクエリの値を表示させたいのですが可能でしょうか? 可能であれば、 クエリに対してさらにクエリを与えて1フィールドになるようにし それを配置できるといいのですが。 例えば、クエリの結果: (ID)、(名前)、(売上)  1   田中   100  2   佐藤    50  3   山田   220 というのがあったとして、「100」「50」「220」というのを各各1つのテキストボックス のようなものにできるといいと思っています。(IDをそれぞれに固定で指定します。) できなければ、サブフォームのようなものでもいいのですが、 フォームの作成時ではなく、後から追加する方法があれば知りたいです。 よろしくお願い致します。

  • クエリ抽出条件を動的に変更したい

    Win XP Access2003 顧客情報を入力するメインフォーム1に商品明細を入力するサブフォーム(帳票)のある 伝票作成用のフォームを作っています。 (サブフォームは選択クエリが元になっています) 入力用にはフォーム1を使い、その後確定した伝票はメインフォーム2で扱いたいのです。 商品明細(帳票サブフォーム)の内容は同じなので、クエリの伝票番号(フィールド)の 抽出条件を フォーム1で開いた時に[forms]![フォーム1]![txt伝票番号] フォーム2で開いた時は[forms]![フォーム2]![txt伝票番号] の様に動的に変更したいのですが,よい方法がありましたら宜しくお願い致します。

  • Accessのフォームで

    Accessで2つほど質問いたします。 (1)テーブルにフィールドを追加したのですがフォーム上でそのフィールドが追加できません(プロパティで選択できない)、多分クエリーを経由してフォームを作成したのですが、どのクエリーだかわからなくなってしまいました、参照しているクエリーがどれなのかを調べる方法を教えてください。 (2)検索フォームを作成して入力した文字を含む検索をしたいのですが どのようにしたら良いのでしょうか、今は入力の文字列の最初と最後に「 * 」を入力して検索しています。

  • accessのフォームで元になるクエリの名称を変更した場合

    ACCESS2000の超初心者です。先日に質問を入力しましたが内容を間違えていましたので再掲です。宜しくお願いいたします。  accessのフォームで元になるクエリの名称を変更した場合、そのフォームは実行しても「データが取り出せません」となってしまうので、フォーム側の設定変更で対応したいのです。このサイトの過去質問からデザインビューのプロパティでレコードソースを新しいクエリに変えればよい となっていたので、やってみましたが「データが取り出せません」のままです。レコードソースはプロパティを開いてデータのタブの▼からクエリを選択して変更しているのですが、変更方法が間違っているのでしょうか。

  • Access2007のフォームとクエリについて

    Access2007、OSはwindows7での開発です。 フォームのレコードソースに自分で作ったクエリを張り付けているのですが、 コードの中でクエリを変更し、その変更した内容がフォームに反映のされ方がおかしくて困っています。 前の画面で年月を入力し、ボタンをクリックすることで次の画面へ移行し、前の画面の年月でクエリを書き換えています。クエリは書き変わっていますし、クエリを書き換えた後にフォームをリクエリしています。しかし、フォームに反映されているデータは直前に入力した年月ではなく、その1つ前の年月のデータが出てきます。 流れとしましては、 年月入力画面で年月入力⇒作成ボタン押下で時間テーブルを見て、データが無ければ新しく作る。あればそのデータを表示というながれです。 説明下手なので理解しにくいかもございませんが、ご協力よろしくお願いします。

  • クエリフォームからのレコード追加について

    お世話になります。 タイトルとして、「クエリフォームからのレコード追加」とすべきか 「フォーム上でのテーブル参照」とすべきか迷うところなのですが 仕入マスタ(ID、品番、仕入日、仕入数) 商品マスタ(ID、品番、商品名) という二つのマスタと、 品番でリレーションして「仕入マスタのフィールド(from仕入マスタ)+商品名(from商品マスタ)」を出すだけの単純なクエリがあります。 今、仕入マスタに新規レコードをフォームから追加する際、 品番を入れたら商品マスタから商品名が参照され表示される、というフォームを作成したいのですが、どうしたら実現可能でしょうか。 (絶対やりかたがあると思ったのですが、うまく探せず質問させていただきます) 当初、新規レコード追加時には、品名を表示させようとしていなかったため、普通に「仕入マスタのフォーム」で「新規」ボタンに下記プロシージャを登録していたのですが。。 「仕入マスタのフォーム」を「仕入クエリのフォーム」に変更して、下記プロシージャを少々修正するだけで実現できるでしょうか。 (素人考えでいくつか試してみたのですが、この場合★の部分に何を指定すればいいのかわかりません。) Private Sub 新規_Click() Me.AllowEdits = False Me.AllowAdditions = True DoCmd.GoToRecord acDataForm, "仕入マスタ", acNewRec '★ End Sub わかりにくい説明で申し訳ございません。 何卒お力添え宜しくお願い致します。

  • ACCESSのフォームについて

    作成済みのフォームのフィールドリストを他のテーブルや他のクエリにしたいのですが、できますか? クエリはテーブルの表示で追加ができますが、そんな風に出来るのでしょうか?

  • Access更新クエリの「レコード更新」をフォームから指定する方法

    お世話になっています。 早速ですが質問があります。 テーブルにあるフィールドの値を全て変更する更新クエリを作成したのですが、出来ればフォームから指定したいのです。 どうやったら「レコードの更新」の値をフィールドから指定出来るのでしょうか? 以上、よろしくお願いします

専門家に質問してみよう