• 締切済み

アクセスのフォーム

アクセスでひとつのテーブルを基にしてフォームを作った後に他のテーブルを新たにフィールドに追加することはできるのでしょうか?? 教えてください。

みんなの回答

  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.5

フォームに、レコードソースとは異なる他のテーブルのフィールドを 表示したい、ということでしょうか? 例えば「売上テーブル」を元にしたフォームに「顧客番号」があり、 「顧客マスタ」テーブルの「顧客名」をフォームに表示したい場合、 テキストボックスを追加し、コントロールソースに =DLookUp("顧客名","顧客マスタ","顧客番号=" & [顧客番号] とすることでできますが。(この例は顧客番号が数値型の場合です) 入力もしたり、他に多くのフィールドがある場合などで テーブル間に関連があるなら、 元のテーブルと他のテーブルで選択クエリを作り、 フォームのレコードソースをそのクエリに変更します。 あとは、フィールドリストを表示し、フォームにドラックする。 または、テキストボックスを追加し、コントロールソースをクエリで 追加したフィールドにする。 全然関係ないテーブルどうしなら、 条件によっては、サブフォームにする という方法もあります。

noname#79209
noname#79209
回答No.4

失礼ながらご質問の真意が今ひとつ分かりかねます。 > 他のテーブルを新たにフィールドに追加することはできるのでしょうか でしたら、「他のテーブル」をデザインモードで開き、フィールドを追加するだけで良いのでは? それとも > ひとつのテーブルを基にしてフォームを作った後に といわれているのは、 「フォームのボタンをクリックすると別のテーブルにフィールドを追加するようなことができるのか?」 という意味でしょうか? もし、そうなら、 フォームのボタンの「クリック・イベント・プロシージャ(VBA)」で可能です。 ただ、VBAでフィールドを追加すること自体がかなり特殊な状況です。 テーブル構造を再考する必要がありそうです。 私も、VBAでフィールドの追加をさせた経験はありますが、そのときの状況は、 「『オートナンバー型』のフィールドの番号を1から振りなおさせるために、そのフィールド削除してもう一度同じフィールド追加したというものでした。

noname#60992
noname#60992
回答No.3

追加クエリを作って、フォーム上のコマンドボタンを押下することによって、そのクエリを実行させることで可能です。 

回答No.2

リレーションを持つ他のテーブルの項目をフォームに追加すればよろしのではないでしょうか? それとも、リレーションを持たないテーブルに追加なんて事を要望されているのでしょうか? 基本的にリレーションを持つ関係のテーブルでないとアクセス使う意味はあまりないように思いますが…

回答No.1

手作業になりますができます。 例えば既成のフォームをデザインで開き、テキストボックスを挿入します。 テキストボックスのプロパティのデータタブのコントロールソースの欄をクリックすると右に「・・・」のボタンが表示されますので、それをクリックします。 式ビルダが表示されますので、右のボックスのテーブルをクリックして、別のテーブルを選択します。

関連するQ&A

  • 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つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • フォームの作り方 アクセス2000

    アクセス2000を使い始めた初心者です。 顧客群に関するテーブルAがすでにあります。 このテーブルは事情があって、フィールドを追加することはできません。 もうひとつのテーブルBを作って、こちらに情報を追加するためのフィールドをいくつか作ります。 やりたいことは、 入力用のフォームに、テーブルAの情報内容を表示させて、テーブルBの入力をしたいのです。 クエリを作ってリレーションを設定するのだろうと思うのですが、具体的に進め方がわかりません。 よろしくお願いします。

  • accessでフィールド追加のあとフォームに反映されない

    access2002を使っています。 あるテーブルを元に、フォームをつくってあるのですが、テーブルにフィールドを1つ追加しました。 フォームでもそのフィールドを表示させたいのですが、 フィールドリストの中に追加したフィールドが出てきません。 説明がわかりづらくて申し訳ありませんが、 反映されない原因がわかりましたら教えてください!

  • Accessでフォームへのフィールドの追加方法について

    よろしくお願いします Access2002にて名簿を作成しております。 テーブル「A」とテーブル「B」という2つのテーブルを作成し ウィザートを利用してAとBの混ざったフォーム「名簿」を作成しました。 その後テーブル「A」のフィールド「年齢」を増やしたのですが フォーム「名簿」へ「年齢」フィールドの追加の仕方がわかりません フォーム「名簿」のフィールドリストに「年齢」はありませんので、 まず「フィールドリスト」へ「年齢」フィールドを追加する必要が あると思うのですが、その方法を教えて下さい。 よろしくお願いします

  • ACCESSのフォームについて

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

  • Accessのフォームで

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

  • access 2007 のフォームの日付について

    access 2007 のフォームの日付について こんにちは さっそくですが質問させていただきます 立山秀利さん著の「ツボとコツがゼッタイにわかる本」で access2007の勉強をはじめたのですが、 二つのテーブル、 「注文履歴」  【フィールド:注文ID(主キー)、商品コード、個数】と、 「商品マスター」【フィールド:商品コード(主キー)、商品名、単価】を作成し、 商品コードを結合フィールドとして、リレーションを作ったのですが、 注文履歴のテーブルに、フィールド「日付(受注した年月日、書式は日付s )」を追加して、 作成→フォーム→その他のフォーム→フォームウィザードで、 この二つのテーブルから、by注文履歴のフォームを作成したのですが、 注文履歴のテーブルでは正しく日付が表示されていたのですが、 フォームの日付では#が十個ぐらいならんで、表示されてしまいました フォームでも日付が正しく表示されるようにするには、どのようにすればよいのか どなたか、回答していただけないでしょうか よろしくお願いします

  • アクセスのフォームに乗っけられるフィールドは216

    アクセスのフォームに乗っけられるフィールドは216個? アクセス2010で、テーブルのフィールドは250個近くあります。 そのテーブルを元に、単表フォームを作ろうとウィザードを立ち上げたのですが どうしても216個目で「フォームを作成できません」になります。 フィールド名がおかしいのかな?と、216個目のフィールド名を適当な文字に変えてみましたが やはりエラーになります。 ヘルプ等にこのような記載はあるのでしょうか? 探せませんでした。

  • 【ACCESS】フォームのデータでテーブル作成

    写真のようなフォーム上に「既設のフィールドの追加」でテーブルの値を追加し、分割フォームでデータを表示するフォームがあります。その後フォーム上のテーブルでフィルターをかけて、その状態のテーブルに対してクエリなどの処理をしたいと思いっております。 そこでフィルターをかけた状態のテーブルのデータを他のテーブルへ追加または新規作成することは可能でしょうか? 写真だと「フィールド1」をフィルタ「あ」をかけてあだけのデータを表示させてその状態のテーブルを別のテーブルへ追加または新規作成したいです。 実際のテーブルには100以上の項目があり使用者によってフィルタをかける項目も違うため自由にフィルタをかけた状態で別のテーブルへデータを追加したいと考えています。 拙い説明で申し訳ありませんがご指導よろしくお願いいたします。

  • アクセス2003 フォームが作成できない

    オブジェクト→フォーム→新規作成→オートフォーム:データシート→テーブルを選択で進んでいくと 画像のように「フォームを作成できませんでした」となります。 しかし画面の左下にフォームが出来ています。 そのフォームを×で閉じようとしたら 「フォーム1の変更を保存しますか?」と出るので「はい」を押すと、 「名前を付けて保存」が開き、フォーム名が先ほど選択したテーブル名になっています。 そのまま保存し、オブジェクト→フォームで該当のフォームを開くと、中身はからっぽです。 フィールドは何もないのに、レコード数だけは基のテーブルと同じ数だけ表示されています。 テーブル名はアルファベットのみです。 テーブルをダブルクリックする場合は、問題なく開けます。 ちなみに空のデータベースを作り、適当にテーブルを作り、 同じようにオートフォームでフォームを作ろうと思っても同じ現象が起きました。 ファイルが悪いと言うより、アクセスがおかしいような気がします。 環境は win7でアクセス2003と2007をいれています。 2007の使い方はよくわかりません。 ご回答よろしくお願いします。

専門家に質問してみよう