![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
仕事で、マイクロソフトアクセス97を使ってフォームを作成しようとしています。
アクセスでクエリやテーブルは以前から使っていますが、フォームを作るのは初めてで、非常に初歩的な質問で申し訳ありませんが教えてください。
フォームのデータのもとは一つのテーブルで、氏名・社員番号・給与年月・支給給与項目ごとの金額 といった項目で構成されており、過去1年の分データを持っています。(つまりテーブルには、一人につき12行のデータがあります。そのため、社員番号だけではデータは特定できず、社員番号と給与年月で特定できます。主キーは設定していません。)
フォームでは、これらを見やすく配置し、社員番号ごとに(=一社員ごとに)1ページ、過去1年間に支給された給与年月ごとのデータを表示させたいと考えています。
<希望するイメージ>
氏名:○○太郎 社員番号:11111
給与年月 基本給 ○○手当 ××手当
200701 200,000 20,000 10,000
200702 200,000 20,000 15,000
------以下省略(12ヶ月分が同様に並ぶ)------
フォームウィザードで作成してみたところ、表形式だと1人1ページにならず他の対象者のデータも一画面に一緒に表示されてしまい、また単票形式だと1人につき1か月分のデータしか表示されず1人につき12ページとなってしまいました。
一体どこをどういじれば、1人につき1ページの表示に変えられるでしょうか?
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
テーブル設計がまずいですね
月ごとの給与をテーブルにしたいのなら
今のテーブルを
[社員テーブル](社員番号、氏名、入社年月日、生年月日、性別、・・・)
[給与](社員番号、支給年月、支給項目ごとの金額)
のように分けましょう
こうしておいて
社員テーブルから作った単票フォームに
給与テーブルを社員番号でリンクしてサブフォームとしてはめ込みます
この回答への補足
教えて頂いたように作ってみたのですが、メインフォームを開いてもサブフォーム側のデータが表示されませんでした。(サブフォームの中の四角い枠などはできているのですが、そこに数字が入っておらず白いまま。)
とはいえ、サブフォーム単体で開くと、社員番号順にそれぞれの年月ごとの給与データがちゃんとずらっと並ぶのです。。。
メインフォームの元になっている基本情報テーブルと、サブフォームの元になっている給与テーブルとは、社員番号でリレーションをかけてあり、一(基本情報テーブル)対多(給与テーブル)の関係になっています。「参照整合性」というチェックボックスには、チェックを入れませんでした。
また、基本情報テーブルの社員番号は主キーになっており、どちらのテーブルにおいても社員番号はテキストデータです。(以上関係ないのかもしれませんが、ご参考まで。。。)
あと何が足りないorいけないか、お分かりになりましたらどうか教えてください。
なるほど、テーブル設計と作り方の問題なのですね。非常に単純に物事を考えていたみたいで、サブフォームを使って、というのは全く考えていませんでした。そのやり方、これからちょっと勉強してみます。
有難いことに社員番号や氏名など他基本的な情報を載せたテーブルは既に別にあるので、それを使って単票形式でメインフォームをつくり、今回ご相談した給与テーブルをサブフォームではめ込んでみますね。(今は週末で家にいるので、来週月曜日会社で。)
お答えくださって、どうもありがとうございます!
No.3
- 回答日時:
メインとサブは社員番号でリンクさせていますか?
この回答への補足
どうもありがとうございます。
リンクと呼ぶのか分かりませんが、メインとサブのもとになっている2つのテーブルについて、社員番号でリレーションシップを設定しています。(リレーションシップの種類は、「一対多」と出ていました。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- 年末調整 令和4年分 給与所得者の基礎控除申告書 兼 給与所得者の配偶者控除等申告書 兼所得金額調整控除申告書 3 2022/11/04 03:46
- 中途・キャリア 契約社員で在職中ですが、正社員目指して転職活動中です。 20代半ばの男です。 2社から内定を頂きまし 5 2022/04/29 13:39
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- その他(税金) 消費税脱税疑惑、労働基準法、コロナ給付金3点について 3 2022/03/29 12:06
- Access(アクセス) Accessのリンクテーブルのパスを相対パスにする方法について教えて頂きたいです 1 2023/02/08 13:29
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォームのテキストボ...
-
Access フォームの参照先について
-
Microsoft Accessの使い方
-
AccessVBA SetFocusとGoToCon...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
アクセスのエラー「クエリには...
-
フィールドの更新がない
-
accessでクエリの結果だけをリ...
-
Accessで、1つの項目に複数の...
-
2つのテーブルに共通するレコ...
-
Acsess アクセス のクエリで...
-
クエリで同一テーブルの複数回...
-
アクセス・テーブルの改行につ...
-
ACCESSのクエリで抽出条件「ま...
-
Accessの桁区切りについ...
-
ACCESSでテーブルにあるチェッ...
-
ACCESSの時刻の引き算
-
テキストボックスにクエリ結果...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォームのテキストボ...
-
初心者なのですが・・・access...
-
AccessVBA SetFocusとGoToCon...
-
Accessのフォームで計算した結...
-
アクセスのデータをCSVファイル...
-
Access フォームの参照先について
-
アクセス クエリーの作成
-
Accessでアンケート集計を構築...
-
access 2016で請求書アプリを作...
-
アクセス 各テーブルでのフィ...
-
accessについてです。
-
筆ぐるめ2004での住所録のソー...
-
access2019 コンボボックスの値...
-
CUBASE LE5でアクティベーショ...
-
Access97のフォームで一人につ...
-
ACCESSで他のテーブルからのデ...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
アクセスのエラー「クエリには...
おすすめ情報