Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルサブフォーム内のテーブル項目を全部表示させたい
記事No172227
投稿日: 2018/04/09(Mon) 00:58
投稿者まややん
OS:Windows10
Access Version:Access2013

初めて投稿します。よろしくお願いいたします。

日誌を作成していて、次の手順をどうしたらよいのか分かりません。
どなたか教えていただけると助かります。

@日誌フォーム(日誌ID、日付、天気)
A日誌サブフォーム(日誌マスタークエリより、日誌ID、登録者ID、登録者名、業務内容ID)
B日誌マスタークエリ(日誌ID、登録者ID、登録者名、業務内容ID、業務内容)
C日誌テーブル(日誌ID、日付、天気)
D登録者テーブル(登録者ID、登録者名、所属)
E業務テーブル(業務ID、業務内容)

業務内容が複数あり、登録者が業務を行ったかどうかをチェックボックスで選択していくようなイメージです。
列に登録者IDで登録者を選択すると、行に業務内容一覧が横並びに表示され、チェックボックスが各行に出てきて選択できるようになる、というようにしたいのです。
つまり、列に登録者が縦に並び、各登録者の業務内容が横並びになる、というようにしたいと考えています。

ところが、複数の業務を横並びにする方法が分かりません。

どうぞよろしくお願いいたします。

タイトルRe: サブフォーム内のテーブル項目を全部表示させたい
記事No172231
投稿日: 2018/04/15(Sun) 15:35
投稿者hatena
> 業務内容が複数あり、登録者が業務を行ったかどうかをチェックボックスで
> 選択していくようなイメージです。
> 列に登録者IDで登録者を選択すると、行に業務内容一覧が横並びに表示され、
> チェックボックスが各行に出てきて選択できるようになる、というようにし
> たいのです。
> つまり、列に登録者が縦に並び、各登録者の業務内容が横並びになる、とい
> うようにしたいと考えています。

日誌フォームがメインフォームで、そこに日誌サブフォームを配置する。
日誌サブフォームは下記のようなレイアウトということですか。

登録者 業務1 業務2 業務3 業務4
AAAA   □   □   □   □ 
BBBB   □   □   □   □ 
CCCC   □   □   □   □ 
DDDD   □   □   □   □ 

※□はチェックボックス


だとしたら、このようなレイアウトはクロス集計クエリで可能ですが、
クロス集計クエリだと更新はできません。
実際に試したことはなくアイデアだけですが、
このクロス集計クエリでフォームを作成して、
詳細の各列にはチェックボックスを配置して、
チェックボックスの上に透明ボタンを配置して、
そのクリック時でVBAで元テーブルを更新して、
再クエリする、という感じでできるかも。

あるいは、
上記のレイアウトのワークテーブルを作成して、
それで入力して、VBAで元テーブルに反映させる。


あるいは、
下記のリンク先のように、複数のサブフォームを並べる設計にする。

連結入力フォームのレイアウトを自由に設計したい - hatena chips
https://hatenachips.blog.fc2.com/blog-entry-395.html

タイトルRe^2: サブフォーム内のテーブル項目を全部表示させたい
記事No172239
投稿日: 2018/04/16(Mon) 23:05
投稿者まややん
お返事ありがとうございます。

> 日誌フォームがメインフォームで、そこに日誌サブフォームを配置する。
> 日誌サブフォームは下記のようなレイアウトということですか。
>
> 登録者 業務1 業務2 業務3 業務4
> AAAA   □   □   □   □ 
> BBBB   □   □   □   □ 
> CCCC   □   □   □   □ 
> DDDD   □   □   □   □ 
>
> ※□はチェックボックス

まさに、そのようなイメージです!

> だとしたら、このようなレイアウトはクロス集計クエリで可能ですが、
> クロス集計クエリだと更新はできません。
> 実際に試したことはなくアイデアだけですが、
> このクロス集計クエリでフォームを作成して、
> 詳細の各列にはチェックボックスを配置して、
> チェックボックスの上に透明ボタンを配置して、
> そのクリック時でVBAで元テーブルを更新して、
> 再クエリする、という感じでできるかも。
>
> あるいは、
> 上記のレイアウトのワークテーブルを作成して、
> それで入力して、VBAで元テーブルに反映させる。
>
>
> あるいは、
> 下記のリンク先のように、複数のサブフォームを並べる設計にする。
>
> 連結入力フォームのレイアウトを自由に設計したい - hatena chips
> https://hatenachips.blog.fc2.com/blog-entry-395.html

3つもアイデアをいただき、ありがとうございます。VBAをうまく使えていないので、複数のサブフォームというアイデアを試してみたいと思います!

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る