Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Access 2013)
フォームの作成について
投稿日時: 20/11/13 15:57:57
投稿者: ジッタ

フォームにて、
支払日 20201130
起票者 佐藤
取引先 ああああ
勘定  11111
 
以上入力したものを規定値として、
 担当   金額
 高橋   100
 田中   150
 鈴木   500
 
というデータを入力した場合、テーブルには
支払日   起票者  取引先  勘定   担当  金額 
20201130  佐藤   ああああ 1111   高橋  100
20201130  佐藤   ああああ 1111   田中  150
20201130  佐藤   ああああ 1111   鈴木  500
 
と入るようにデータを追加していきたいのですが、
どのようにフォームを設定していけばよいか、ご教授お願い致します。
 
支払日〜勘定の部分は、規定値を設定するプロパティDefaultValueを使い、
担当、金額更新時に、支払日〜勘定の値を代入? とかで良いのでしょうか?
 
一から作成することが初めてで、ただいま勉強しながら、作成しております。
分かりにくい説明かもしれませんが、アドバイスをお願い致します。
 
 

回答
投稿日時: 20/11/13 16:47:54
投稿者: sk

引用:
支払日   起票者  取引先  勘定   担当  金額 
20201130  佐藤   ああああ 1111   高橋  100
20201130  佐藤   ああああ 1111   田中  150
20201130  佐藤   ああああ 1111   鈴木  500

何を見ながらデータ入力をなさろうとしているのか
(入力原票がどのようなレイアウトなのか)は不明ですが、
まずはそのテーブルの正規化を検討されることをお奨めします。

投稿日時: 20/11/16 17:41:22
投稿者: ジッタ

引用:
何を見ながらデータ入力をなさろうとしているのか
(入力原票がどのようなレイアウトなのか)は不明ですが、
まずはそのテーブルの正規化を検討されることをお奨めします。

 
skさん、ご回答ありがとうございます。
何を見ながらというより(もちろん元となるものはありますが)、
このデータを別のデータベースに取り込むためのデータ作成作業となります。
 
詳細をいうと、トータル金額で100万円で経費を立てているとします。
その100万円を各担当者で割り振るための伝票を作成しないといけない為、
入力箇所は、担当、金額のみが異なるだけで、
その他はすべて一緒の内容になるので、支払日〜勘定は1ヶ所に入力するだけで、
すべてのレコードにそれが反映されれば良いなと思っております。
 
1回だけ入力する部分(支払日〜勘定)と、複数入力する部分(担当者、勘定)が
ある状態にしたいということです。
複数入力する部分も内容によって何件発生するかは決まっておりません。
 
分かりにくくて申し訳ありません。
 

回答
投稿日時: 20/11/17 08:36:53
投稿者: hatena
投稿者のウェブサイトに移動

引用:
1回だけ入力する部分(支払日〜勘定)と、複数入力する部分(担当者、勘定)が
ある状態にしたいということです。
複数入力する部分も内容によって何件発生するかは決まっておりません。

 
「1回だけ入力する部分(支払日〜勘定)」のテーブルと、「複数入力する部分(担当者、勘定)」のテーブルに分割して、前者をメインフォームのレコードソース、後者のサブフォームのレコードソースとするメイン/サブフォーム形式にすればいいでしょう。
 
これでテーブルも正規化されたものになりますし、入力フォームもご希望のものになります。
 
サブフォームを含むフォーム (一対多のフォーム) を作成する - Access
https://support.microsoft.com/ja-jp/office/%E3%82%B5%E3%83%96%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E5%90%AB%E3%82%80%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0-%E4%B8%80%E5%AF%BE%E5%A4%9A%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0-%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-ddf3822f-8aba-49cb-831a-1e74d6f5f06b
 
サブフォームを含むフォームを簡単作成 | Access 2010 | 初心者のためのOffice講座
https://hamachan.info/win7/access/sub.html

回答
投稿日時: 20/11/17 08:50:38
投稿者: Suzu

skさんがおっしゃっている 正規化 と言うのは
 
繰り返し入力されるデータをなるべく廃した形状の事
それにより、
 「文字」を入力する事を少なくし 入力をし易くする
  また、保存するデータ量を少なくする
        名称等が変わった時にマスタ側のみを変更する事でデータメンテナンス性の向上を期待する
 
今回の場合だと、以下の様な感じでしょうか。
担当マスタ・取引先マスタ は無くても良いかもしれませんが
メインテーブル/サブテーブル に分ける事により、
 
フォーム形状をメインフォーム/サブフォーム に分ける事が可能になります。
 
 
メインテーブル
ID 支払日  起票者ID  取引先ID  勘定ID
 1 20201130  0001   A01    1111
 
 
サブテーブル
sID  ID  担当者ID  金額
1   1   0002    100
2   1   0003    150
3   1   0004    500
 
 
担当マスタ
担当者ID  担当者  所属
0001    佐藤   総務
0002    高橋   営業
0003    田中   営業
0004    鈴木   営業
 
 
取引先マスタ
取引先ID  取引先  連絡先  担当
A01    ああああ  03-〜〜 斉藤
 
 
+メインフォーム--------------------+
|                 |
| 支払日 20201130        |
| 起票者 0001          |
|      佐藤         |
| 取引先 A01           |
|      ああああ       |
| 勘定  1111          |
|                 |
| +サブフォーム----------------+ |
| | 担当    金額     | |
| | ------------------------ | |
| | 0002 高橋  100     | |
| | 0003 田中  150     | |
| | 0004 鈴木  500     | |
| |              | |
| |              | |
| | ------------------------ | |
| |    合計  750     | |
| +----------------------------+ |
+----------------------------------+

トピックに返信