access95でフォームを作成する場合に、元になるテーブルを複数指定する事はできますか?
フォームはひとつで、入力するフィールドによってそれぞれ別のテーブルにデータが蓄積されるようにしたいんです。
どなたか分かる方、助けてください。
回答 (全4件)
2000-10-05 17:07:05
回答No.1
レベル13
ベストアンサー率 46%
(643/1383)
このような場合、「サブフォーム」を使います。
テーブルAを表示するフォーム(フォームA)と、テーブルBを表示するフォーム(フォームB)を作成し、フォームA上にサブフォームコントロールを配置して、[ソースオブジェクト]プロパティにフォームBを指定します。
また、それぞれのテーブルが、親子の関係になっていれば、[リンク親フィールド],[リンク子フィールド]プロパティで、親子関係をそのまんま再現したフォームが作成可能です。
質問等、何かありましたら、補足をお願いします。
2000-10-06 03:14:34
回答No.2
複数のテーブルで単純に選択クエリーを作成し、
フォームでそのクエリーを参照すればいいのでは?
そうすればフィールドに入力された値はそのクエリーの
示すテーブルのカラムにそれぞれ格納されるはず・・・。
#具体的な作成方法については言葉で説明するのが
#下手なのでできませんが・・・(苦笑)
2000-10-06 04:11:45
回答No.3
レベル11
ベストアンサー率 19%
(67/345)
複数のテーブルを使用してフォームを作成する時は、
クエリーを作成して作成する、またはサブフォームを持つ方法が一般的です。
今回の場合、marunekoさんは入力用のフォームを作成したいとしてアドバイスします。
クエリーを作成する方法は、そのリレーションの関係によってレコードを作成できない場合が多いにあります。参照用のクエリになってしまうわけです。
ということで、クエリに自信がなかったら、テーブル毎に区切ることが出来るフォームをデザインし、サブフォームを使った方が後々の使い勝手や修正なども考えると便利だと思いますよ。
がんばってください。
2000-10-06 17:47:45
回答No.4
レベル13
ベストアンサー率 46%
(643/1383)
>更にお伺いしたいのですが、フォームを作成する際に、特定のテーブルを指定しないで、任意のテーブルの任意のフィールドを表示させるにはどうしたらいいのでしょうか?又、その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、テーマを検索する
ICON_arr
ICON_arr
ICON_arr
ICON_arr
こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。