Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


331 / 9994 ←次へ | 前へ→

【12977】Re:Valueプロパテイについて
発言  かるびの  - 16/3/25(金) 11:03 -

引用なし
パスワード
    複数値フィールドですか。

 複数値フィールドは、アクセス2007以降の新機能であり、
当方のアクセスは2003のため、複数値フィールドは使えず、使ったこともありません。
 そのため、次のページを紹介するくらいしかできません。

ht tps://support.office.com/ja-jp/article/%E8%A4%87%E6%95%B0%E5%80%A4%E3
%82%92%E6%8C%81%E3%81%A4%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3
%81%AE%E6%A6%82%E8%A6%81-7c2fd644-3771-48e4-b6dc-6de9bebbec31


 ただ、複数値フィールドの評判はあまりよくないようです。

 以前、どこかの掲示板で、識者が「複数値フィールドは扱いづらそうだ」という意見を述べていたのを記憶しています。

 また、複数値フィールドを使いたくなるような場面で、複数値フィールドを使わずに実現する方法は存在します。
 2003以前では、この方法をとるべきものとされていました。
 そのため、下手に複数値フィールドを使うと、
どのテーブルとどのテーブルを使って、どのようなクエリを作るか
ということが見通しづらくなってしまいます。

 こうしたことから、複数値フィールドは敬遠されているのではないかと思います。


 なお、複数値フィールドを使わない場合にどうすべきかについて触れておきます。


 社員が取得した資格を管理したいということですから、
作るべきテーブルは、次のようなものになると思います。

テーブル名:T社員
フィールド:
社員ID オートナンバー型(主キー)
社員名 テキスト型(又は短いテキスト)

テーブル名:T資格
フィールド:
資格ID オートナンバー型(主キー)
資格名 テキスト型

テーブル名:T保有資格
フィールド:
保有ID オートナンバー型(主キー)
社員ID 長整数型
資格ID 長整数型

 なお、T社員とT資格は多対多結合となります。
そのため、結合テーブルが必要になりますが、T保有資格がそれに該ります。

 そして、レコードの表示は、メイン/サブ形式のフォームを使って行うことになると思います。
 すなわち、メインフォームに社員名などを表示させ、
サブフォームには当該社員が持っている資格を表示させます。
 下記のような感じです。

┌────────────┐
│    ┌────┐  │
│社員名 │田中  │  │
│    └────┘  │ 
│            │
│┌─────────┐ │ 
││資格名      │ │
││英検3級     │ │
││珠算2級     │ │ 
││簿記3級     │ │
│└─────────┘ │
└────────────┘

 このイメージは、メインフォームを単票フォーム、サブフォームをデータシート又は帳票フォーム
としたものですが、メインフォームを帳票フォームにしたり、データシートにすることもできます。


 クロス集計クエリを作りたいとのことですが、こんな感じでしょうか。

    英検3級 珠算2級 簿記3級 
 山田     1     0     0
 田中     1     1     1
 中村     0     0     0
 村木     0     1     1

 このようなクロス集計クエリは、上記に示したテーブルから作ることができます。
 具体的には、
 まず、上記の3テーブルを結合させたクエリを作ります。このクエリの名前を仮に「Q結合」だとします。
 次に、Q結合をベースにして、クロス集計クエリを作ります。
集計方法は、「カウント」を選びます。
 
 こうすれば、複数値フィールドを使わなくても、上記のようなクロス集計クエリを作れます。
251 hits

【12976】Valueプロパテイについて 柚木健夫 16/3/24(木) 14:43 質問[未読]
【12977】Re:Valueプロパテイについて かるびの 16/3/25(金) 11:03 発言[未読]

331 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free