-PR-
締切り
済み

access95でこんなフォームを作成したい!!

  • すぐに回答を!
  • 質問No.10102
  • 閲覧数91
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 10% (3/29)

access95でフォームを作成する場合に、元になるテーブルを複数指定する事はできますか?
フォームはひとつで、入力するフィールドによってそれぞれ別のテーブルにデータが蓄積されるようにしたいんです。
どなたか分かる方、助けてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 46% (643/1383)

このような場合、「サブフォーム」を使います。 テーブルAを表示するフォーム(フォームA)と、テーブルBを表示するフォーム(フォームB)を作成し、フォームA上にサブフォームコントロールを配置して、[ソースオブジェクト]プロパティにフォームBを指定します。 また、それぞれのテーブルが、親子の関係になっていれば、[リンク親フィールド],[リンク子フィールド]プロパティで、親子関係をそのまんま再現した ...続きを読む
このような場合、「サブフォーム」を使います。

テーブルAを表示するフォーム(フォームA)と、テーブルBを表示するフォーム(フォームB)を作成し、フォームA上にサブフォームコントロールを配置して、[ソースオブジェクト]プロパティにフォームBを指定します。

また、それぞれのテーブルが、親子の関係になっていれば、[リンク親フィールド],[リンク子フィールド]プロパティで、親子関係をそのまんま再現したフォームが作成可能です。

質問等、何かありましたら、補足をお願いします。
補足コメント
maruneko

お礼率 10% (3/29)

貴重なご意見、ありがとうございました。
更にお伺いしたいのですが、フォームを作成する際に、特定のテーブルを指定しないで、任意のテーブルの任意のフィールドを表示させるにはどうしたらいいのでしょうか?又、そのSQL文がわかれば教えていただきたいのですが。。。。
投稿日時 - 2000-10-06 09:03:25


  • 回答No.2
レベル6

ベストアンサー率 55% (5/9)

複数のテーブルで単純に選択クエリーを作成し、 フォームでそのクエリーを参照すればいいのでは? そうすればフィールドに入力された値はそのクエリーの 示すテーブルのカラムにそれぞれ格納されるはず・・・。 #具体的な作成方法については言葉で説明するのが #下手なのでできませんが・・・(苦笑)
複数のテーブルで単純に選択クエリーを作成し、
フォームでそのクエリーを参照すればいいのでは?
そうすればフィールドに入力された値はそのクエリーの
示すテーブルのカラムにそれぞれ格納されるはず・・・。

#具体的な作成方法については言葉で説明するのが
#下手なのでできませんが・・・(苦笑)
  • 回答No.3
レベル11

ベストアンサー率 19% (67/345)

複数のテーブルを使用してフォームを作成する時は、 クエリーを作成して作成する、またはサブフォームを持つ方法が一般的です。 今回の場合、marunekoさんは入力用のフォームを作成したいとしてアドバイスします。 クエリーを作成する方法は、そのリレーションの関係によってレコードを作成できない場合が多いにあります。参照用のクエリになってしまうわけです。 ということで、クエリに自信がなかったら ...続きを読む
複数のテーブルを使用してフォームを作成する時は、
クエリーを作成して作成する、またはサブフォームを持つ方法が一般的です。

今回の場合、marunekoさんは入力用のフォームを作成したいとしてアドバイスします。

クエリーを作成する方法は、そのリレーションの関係によってレコードを作成できない場合が多いにあります。参照用のクエリになってしまうわけです。

ということで、クエリに自信がなかったら、テーブル毎に区切ることが出来るフォームをデザインし、サブフォームを使った方が後々の使い勝手や修正なども考えると便利だと思いますよ。
がんばってください。
  • 回答No.4
レベル13

ベストアンサー率 46% (643/1383)

>更にお伺いしたいのですが、フォームを作成する際に、特定のテーブルを指定しないで、任意のテーブルの任意のフィールドを表示させるにはどうしたらいいのでしょうか?又、そのSQL文がわかれば教えていただきたいのですが。。。。 SQLではなく、VBAを使います。 VBAを使えば、適当なタイミングで、フォームのレコードソースを変更できます。 例えば、フォームをどのテーブルのデータを表示する ...続きを読む
>更にお伺いしたいのですが、フォームを作成する際に、特定のテーブルを指定しないで、任意のテーブルの任意のフィールドを表示させるにはどうしたらいいのでしょうか?又、そのSQL文がわかれば教えていただきたいのですが。。。。

SQLではなく、VBAを使います。
VBAを使えば、適当なタイミングで、フォームのレコードソースを変更できます。

例えば、フォームをどのテーブルのデータを表示するのか決めたい時は、
フォームの読み込み時に、

Private Sub Form_Load()
 Me.RecordSource = "表示するテーブル/クエリ"
 Me.コントロール名.ControlSource = "表示するフィールド名"
End Sub

のようなコードを書いてやります。

あるテキストボックスの内容によって、サブフォームに表示するテーブルを変えるには、
テキストボックスの、更新後処理に、

Private Sub テキストボックス_AfterUpdate()
 Select Case Nz(Me.テキストボックス)
  Case "内容1"
   Me.サブフォーム.Form.RecordSource = "表示するテーブル/クエリ"
   Me.サブフォーム.Form.コントロール名.ControlSource = "表示するフィールド名"
  Case "内容2"
   '以後同様
 End Select
End Sub

のように書いてやります。

※VBAについて、ある程度の知識があるものと想定して書いてあります。 もし不明点などがあれば、遠慮なくお書きください。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ