プロが教えるわが家の防犯対策術!

Access2007でフォームを作成しています。

以下のようにフォームを作成したいです。

1年 A組 担任山田
  1番 阿部
  2番 井上
2年 B組 担任松田
  1番 伊藤
  2番 上田
  3番 小田

上記のように,リスト内にリストを表示させたいです。

帳票フォームのなかにサブフォームで帳票フォームを表示させることはできないということで
この方法は断念。
帳票フォームのなかにリストボックスを配置してみましたが,
これもリストボックス内にうまく連携してレコードを表示させることができず断念しました。

クラスごとや個人ごとにレコードを操作したいので,
メインフォームが単票形式になっては意味がないです。

お知恵を貸してください。
よろしくお願いいたします!

A 回答 (6件)

補足:一つの案。



添付図は、多少は現実的な案の一つです。

ポイント:生徒名をクリックしたら下部に更新用の入力欄を表示。

ここまでですと、慣れていれば30分程度で作成できます。

1、生徒名が更新された時の処理。

  Dim SQL As String

  SQL = "UPDATE T2 " & _
     "SET 名前 = " & Me.[新しい名前].value & _
     "WHERE T1_ID = " & Me.[ID]

  DoCmd.RunSQL SQL (注意:未検証)

2、更新をフォームに反映する処理。

  Me.Requery

まあ、割と簡単に実現できる案かと思います。
「帳票フォームのなかにリストを表示させたい」の回答画像6
    • good
    • 0

表示だけで、入力の必要がないならば


レポートを作成し、
「レポートビュー」で表示するのが簡単でしょう。
    • good
    • 0

補足: 構想自体の見直しも・・・。



リスト内リストは、確かに、伝票一覧、在庫一覧のレポートをフォーム形式で表示する場合に用いる技法。ただし、データの登録・変更という場合には不適かと思います。そのようなケースでは、

主表:帳票で表示
明細:リストボックスで表示

こういう形が一般的かと思います。
「帳票フォームのなかにリストを表示させたい」の回答画像4
    • good
    • 0

訂正: 生徒情報はスクロール表示も可。

「帳票フォームのなかにリストを表示させたい」の回答画像3
    • good
    • 0

補足: リスト内リストの一つのアイデア



一番簡単なのは、クエリをそのまんま表示することです。この方法の難点は、生徒情報の表示欄の高さが同じになるということです。

改善点1:生徒番号を001、002あるいは__1、__2と表示する。
改善点2:生徒名の長さに応じて右の余白数を調節する。

ただし、これは

[T1]
ID


担任

[T2]
ID
T1_ID
生徒番号
名前

のようなテーブル構造を前提としています。

【作成したクエリ】

SELECT
*,
DBSelect("SELECT 生徒番号, 名前 FROM T2 WHERE T1_ID=" & [id]) AS 生徒情報
FROM T1;

※クエリの詳細は必要があれば補足します。
「帳票フォームのなかにリストを表示させたい」の回答画像2
    • good
    • 0

Q、帳票フォームのなかにリストを表示。


A、実現されたいことは?

例えば、伝票一覧参照フォームなどは

2014/08/01 No.000001 顧客名 鈴木様
  01:売上:AAAA:@1,000×2=\2,000
  02:売上:AAAA:@1,000×2=\2,000
2014/08/02 No.000002 顧客名 中村様
  01:売上:AAAA:@1,000×2=\2,000
  02:売上:AAAA:@1,000×2=\2,000

のように、伝票標題部と明細部とを表示します。その他には、枝番を持つ商品在庫なども<リスト内にリスト形式>での参照を求められることがあります。実現されたいことは、このような帳票フォームでしょうか?

さて、仮に、そのようであれば、Accessの一般的な基本機能を利用して実現することはできないと思います。つまりは、自分でアイデアを出し自分で実現するしかないでしょう。

-------------------------------
1年 A組 担任山田
-------------------------------
  1番 阿部
-------------------------------
  2番 井上
-------------------------------
2年 B組 担任松田
-------------------------------
  1番 伊藤
-------------------------------
  2番 上田
-------------------------------
  3番 小田
-------------------------------

例えば、このように1行1データであれば帳票形式でも表示可能。多少、凝るのであれば、EXCEL帳票やGRIDBOXなど。

実現要領としては、一時テーブルを作成するか、または、VBAで表示することになるかもしれません。

私からは、以上です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A