• 締切済み

ACCESS フォームの作成について

DexMachinaの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

「売上構成比」や「項目構成比」などの「比」を記録するというのは、 通常、「一旦全体の合計を出した上で、各値をその合計で割る」 という操作が必要になり、かなり面倒なのではないでしょうか。 (売上の額そのものを秘密にする必要があるために、比だけしか  入手できない、といった事情があればやむを得ませんが・・・) もしも額自体のデータもお持ちなのでしたら、各テーブルには、 種別ごと、及び項目ごとの額を記録し、それぞれの構成比は 式で算出・表示させた方がよいのではないでしょうか。 また、売上のない項目に関しては入力を省略した方がレコード 総数を減らせるため、結果として検索を早くできると思います。 企業 種別 項目 売上  3   9    1  20万   3   9    2  10万  3   9    3  170万 ※「3」の企業の総売上を200万と仮定して例示データから算出。 その上で、それぞれの比が必要な場合は、以下のようなクエリで 対応します。 ・企業小計(下のクエリで使用): SELECT 品目テーブル.企業コード, Sum(品目テーブル.額) AS 企業総額 FROM 品目テーブル GROUP BY 品目テーブル.企業コード; ・種別総額(下のクエリで使用): SELECT 品目テーブル.企業コード, 品目テーブル.種別ID, Sum(品目テーブル.額) AS 種別総額 FROM 品目テーブル GROUP BY 品目テーブル.企業コード, 品目テーブル.種別ID; ・種別構成比: SELECT 種別小計.企業コード, 種別小計.種別ID, 種別小計.種別総額, 種別小計!種別総額/企業小計!企業総額*100 AS 種別構成比 FROM 種別小計 INNER JOIN 企業小計 ON 種別小計.企業コード=企業小計.企業コード; ・項目構成比: SELECT 品目テーブル.企業コード, 品目テーブル.種別ID, 品目テーブル.項目ID, 品目テーブル.額, [額]/種別小計!種別総額*100 AS 項目構成比 FROM 品目テーブル INNER JOIN 種別小計 ON (品目テーブル.種別ID=種別小計.種別ID) AND (品目テーブル.企業コード=種別小計.企業コード); ※入力時は、全項目の入力がされていればOKなのでチェックは   省略してもいいですし、企業別や種別の合計額が別途算出済みの   ようであれば、入力後の合計値と比較して確認する手もあります。 なお、リンク先が見られなかったため、そちらは確認できていません。 こちらのサイトでもメディアの貼付に対応されたようなので、 今後はその機能を使用した方が便利かと思いますので、併せて参考まで。

sskj
質問者

補足

データの入手の関係上比率しか入手できないわけです。 入力フォーム www.hsjp.net/upload/src/up55031.jpg 以前COBOLで作成されていたDBがあるのですが、 そちらではフィールドを売上構成比(abc商品)、項目構成比(a)、項目構成比(b),項目構成比(c)のように分けていたようです。 クエリで抽出作業が除ける分、軽くなるのですが、 それ以外に改善方法は売上がない項目を消すぐらいですかね?。

関連するQ&A

  • Access フォームの作成 レコードの追加について

    原稿が以下のようになっている、フォームを作成したのですが 入力に手間が掛かるので良案がありましたらお願いいたします。 企業コードxxxx 店名_xxx店 住所_xxxx市xxx村 商品分類_売上構成_ウエア_シューズ_グッズ 野球ソフト_(野球ソフトの構成数値)_(野球ソフトのウエアの構成数値)_・・・ テニス_ バドミントン_ 卓球_ ゴルフ_ ・ ・ ・ 合計_ 分類ID(商品名)は15商品と決まっております 3品目もウエア、シューズ、グッズと決まっております。 原稿は商品名15品目がすべて印字済みです。 エクセルの表のような原稿だと考えていただければよいかと思います。 テーブルは正規化に則り以下のように作成しました。 売上構成テーブル 企業コード_売上構成_分類ID(商品名のID) 3品目(ウエア、シューズ、グッズ) 企業コード_3品目構成比_分類ID_項目ID(3品目のID) 店マスタテーブル 企業コード_店名_電話番号 等 現在は店マスタテーブルをメインフォームにサブフォームを 売上構成、3品目と作成しましたがこのままでは見にくいですし IDをわざわざ入力しなければなりません。(新規のデータの場合) メインフォーム(単票フォーム) サブフォーム(データシート) 一つの企業コードに対して最大15商品、それらに対して3品目は決まっているので ID入力を省くように追加ボタンの作成は出来ないのでしょうか? 企業コードを指定してクリックすると売上構成に1~15までの商品レコード追加。 企業コードを指定してクリックすると3品目項目IDを追加。 入力の並びに関しては以前ご質問したときにVBAで長いコードを 書かなければならないと解答をいただきました。 VBAは殆どさわった事ないので分かりません。(検索に使っている程度です。) 以上のことでもし何かありましたら回答お願いいたします。

  • ACCESS 入力フォーム 項目の並びについて

    テーブル1 コード_店名_項目_構成比 1_a_野球_10 1_a_テニス_20 1_a_ゴルフ_30 ・ ・ ・ テーブル2 コード_企業名 1_z このようなテーブルからフォームを作成中なのですが テーブル1、サブフォーム側の入力表示を原稿通りにしたのですが、 以下のように出来ないでしょうか? コード_店名_野球_テニス_ゴルフ

  • Access 集計について

    サブフォームでDsumを使用しIDごとの合計を表示するようにしたのですが、結果が100になるはずですが、表示が99.9999976158142や100.000002384186となってしまいます。 上と同じ現象だと思うのですが、売上から構成比率で構成金額を算出して、同じ種類の構成金額を合計したものをはじめの売上で割り構成比率に直したものを表示し、構成比全種類を合計足した場合100になるはずなのですが、94.5と計算が間違っています。 これらの原因が分かる方お願いいたします。

  • Access 分類分け クエリの作成方法について

    商品分類項目に野球 テニス サッカー等の項目が15以上あります。 その各項目にウエア シューズ グッズ 構成比率とあります。 テーブルを作成するときに構成比率 ウエア シューズ グッズ 分類IDとフィールドを作成し、項目事に分類IDを振り分けました。 野球販売高を算出するには売上高*野球構成比/100*0.5と計算します。 クエリでこれらを計算するには抽出条件で15項目のファイルを作成する必要がありますよね さらに計算する1項目につき1ファイル必要ですよね 算出するのは野球販売高だけではなく、テニス販売高、サッカー販売高 と項目事に必要です。 計算項目はこれ以外にも14あり、それらを上記の方法で算出するとファイル数が膨大になります。 Accessではクエリの数が数十個になるのは普通なのでしょうか?

  • Accessのフォームについて教えてください。

    こんばんは。アクセス入門者です。 入門書やできるシリーズなどいくつかのアクセスの本を見たのですが、 フォームについて、理解できません。 ●担当者マスタ ■客先マスタ ★コードマスタ ▲売り上げ計画マスタ ◎売上げ結果マスタ テーブルを作り、それぞれのテーブルから必要な項目を集めて、クエリを作成しました。思ったとおりの結果になったので、これを元にフォームを作成しました。 思ったとおりの結果が表示されるのですが、このフォームに入力が出来ません。できなかったので、次の方法を試しました。 ★コードマスタと▲売り上げ計画マスタのデータをサブフォームに配置しデータを追加させようと思って、あらたにフォームを作りました。やはり、思ったとおりの表示はされるのですが、追加ができないのです。それぞれのテーブルには、★コードマスタを主にそれぞれ、一対多にリレーションを組んでいます。 1つのフォームで色々なテーブルに結果を反映できるように、参照整合性の更新、削除にもチェックを入れました。 この考えは間違っているのでしょうか。 ○○マスタとあるように、それぞれ1つのテーブルに1つのフォームにしなければならないのでしょうか。 複数のテーブルから取り出したデータの更新は無理なのでしょうか。 ある程度、クエリまで完成したのにフォームでつまずいて苦しんでいます。ご解答宜しくお願い致します。

  • ACCESS教えて下さい。

    こんにちは。お願いします。 T_1 テーブル 企業名 売上合計 T_2サブ テーブル 売上内容 売上金額 仕入金額 を作成し、T_1のフォームを作成しT_2サブは、サブフォームにします。 入力していき、テーブル1の合計にサブフォーム上で入力した売上金額の合計が、計算されるようにしたいのですが・・・。 どうすれば良いでしょうか? 教えて下さい・・。

  • Access フォームを一つにまとめる

    3つの異なるフォームを作成したのですが、検索するコードは同じなので一まとめにしたいのですが作り直すしかないでしょうか? その内の二つのフォームは別の条件のサブフォームを使用しています。 一つのフォームに対して二つのサブフォーム(異なる条件)を表示するのは無理ですよね? もしくは、どれか一つのフォームで検索した場合他のフォームも連動して検索内容が表示されると助かるのですが・・・。 ttp://upload.jpn.ph/img/u11940.jpg(現状)

  • 追加クエリ

    企業コード_項目構成比_項目ID_分類ID 同じ企業コードで項目ID、1、2、3のどれかに数字がある場合 ない項目を追加したいのですが、どのようにすればよいでしょうか。 (追加する項目構成比は0) 一つの企業コードを分割して表で表すと以下のとおり。 分類ID 項目ID     1 2 3 1  30 20 50 2  30 70 ※  4  ※ 70 30 ※の部分に0を追加。

  • Access 再クエリについて

    メインフォーム(単票)に合計を表示したサブフォームと、その合計の元になり入力可能なサブフォームを作成しました。 この入力可能なサブフォームにデータを入力した場合、合計のサブフォームの表示を更新したいのですが、 入力可能なサブフォームに更新後処理で再クエリを指定したのですが、名前が正しくないとエラーが表示されます。 サブフォームに再クエリの指定はどのようにするのでしょうか? 名前:(入力可能なフォーム) ■F調査データ(売上構成)のサブフォーム 名前:合計サブフォーム ■売上構成比 店舗別合計のサブフォーム 更新したいフィールド名 売上構成の合計

  • ACCESS フォームからサブフォームのデータを更新・入力したい

    ACCESS フォームからサブフォームのデータを更新・入力したい tbl_プロジェクトというテーブルにIDとプロジェクトコード、プロジェクトの基本情報を持たせ、f_プロジェクトフォームからプロジェクトコード、件名、契約日等のデータ及び、f_テーマサブフォームにテーマを入力できるようなフォームを作成しています。フォームで入力したものをそれぞれのテーブルに保存したいのですがうまくいかない部分があります。 フォームから入力すると、tbl_プロジェクトに所属する情報は更新されます。そのtbl_プロジェクトに所属するプロジェクトコードをサブフォームのtbl_テーマのプロジェクトコードにも反映したいのですがどのようにしたらよいでしょうか? そういったことは可能でしょうか?分かりにくい説明で申し訳ないですが教えていただけると助かります。よろしくお願いします! DBの構成 【テーブル】 tbl_プロジェクト (1件1件のIDとプロジェクトコードを持つ) (フィールド:P_ID、プロジェクトコード、件名、契約日など) tbl_テーマ(プロジェクト毎に関連のあるキーワードを持つ) (フィールド:P_ID、プロジェクトコード、テーマ)←これのプロジェクトコードにtbl_プロジェクトのデータが入るようにしたい。 tbl_顧客(プロジェクトを依頼した顧客情報を持つ) 【クエリ】 q_テーマ(プロジェクト、テーマ、顧客を抽出するクエリ) 【フォーム】 f_プロジェクト (プロジェクトを1件ずつ表示・参照・新規作成するフォーム) f_テーマサブフォーム (f_プロジェクトフォームのプロジェクトコードにづきテーマを          表示・入力するサブフォーム) リレーションはP_IDをキーに一対多で作成しています。