• ベストアンサー

Access2000フォームにリレーションしたテーブル内容を入れたい

Access2000フォームにリレーションしたテーブル内容を入れたい Access2000を利用していますが、フォームにリレーションしたテーブル内容を表示したいです。 具体的には 顧客情報テーブルのフォームに履歴テーブルの情報や、入金テーブルなどを表示したいです。 サブシートでは見づらく入力ミスとかが発生してしまうので・・ よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>フォームのレコードソースとSQLステートメント上ってところがよくわかりません。 フォームのレコードソースはフォームのプロパティを開きレコードソースを参照してください。SQLステートメントはそのレコードソースの右にあるボタンをクリックすれば開きます。 >リストボックスとかに1対多の多の部分をSQL文を書いて表示させるとかできないでしょうか。 値集合ソースにSELECT文で出来ます。 1対多であれば1にあたる抽出条件をフォームのコントロールに入力するようにしてそのコントロールを値集合ソースにSELECT文に抽出条件として記述しておき抽出条件のコントロールのプロパティの更新後処理のイベントに対象になるリストボックスを Me.リストボックス名.Requery でRequeryすれば出来ます。

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>顧客情報テーブルのフォームに履歴テーブルの情報や、入金テーブルなどを表示したいです。 顧客情報テーブルのフォームのレコードソースをSQLステートメント上でテーブル追加で履歴テーブルや入金テーブルのフィールドを追加するか、クエリにして顧客情報テーブルと履歴テーブルや入金テーブルのフィールドをクエリで追加すれば出来ますが履歴テーブルや入金テーブルでは1対多の結合になると思いますので履歴や入金のレコード数分がクエリの結果として出来てしまいますが良いのでしょうか。(表示だけの問題ですが) 例えば1顧客で履歴テーブルに10件のレコードがあれば10行表示されます。 テーブル等の詳細は不明ですが顧客情報テーブルに履歴テーブルや入金テーブルを一度に結合して表示した場合に追加や更新できなくなることもあります。 ここが一番重要ですね。 顧客情報テーブルと履歴テーブルのクエリ&フォームと顧客情報テーブルと入金テーブルのクエリ&フォームなら問題と思いますが。その辺を考慮すれば良いと思います。

rosiro
質問者

お礼

ありがとうございます。 サブフォームでだいたい解決できました。 ありがとうございました

rosiro
質問者

補足

回答ありがとうございます。 ただちょっとわからない部分が・・ >顧客情報テーブルのフォームのレコードソースをSQLステートメント上でテーブル追加で履歴テーブルや入金テーブルのフィールドを追加するか、 この部分がよくわからないです。 あまりアクセス固有の単語とかよくわからなくて・・ フォームのレコードソースとSQLステートメント上ってところがよくわかりません。 SQLは理解していますので、例えばリストボックスとかに1対多の多の部分をSQL文を書いて表示させるとかできないでしょうか。

専門家に質問してみよう