次の方法で共有

入力したテキスト(または数値)を含むフィールド名を指定する方法は…

Anonymous
2013-04-27T02:01:31+00:00

初心者で、先日の質問を解決していただいてすぐまたこの様なお尋ねをします。

商品の売り上げ管理をしようとして、

メインフォームで売上日付や顧客情報を入力し

サブフォームを使って売上商品の明細を入力しています。

売上明細は等級ごとに1レコードを構成し、10種類の入数とそれに対応する売上数量を入れる形になっています。

入数は1レコードには10種類未満ですが、全種類では20種類ほどになります。

この入数別の売上数を把握するためにテーブルを作ってそこに売上データを保存したいと思っています。

例えば、売上明細で「入数フィールドの値が10の商品を1」、「入数フィールドの値が15の商品を2」と入力した時に、入数別の売上テーブルの「入数10というフィールドに1」、「入数15というフィールドに2」と書き込む為にはどんな方法を使ったら良いでしょうか?

明細テーブルで入力された数値で入数別売上テーブルの書き込むべきフィールドを判断させる仕方が分かりません。

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

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2013-04-27T06:26:47+00:00

テーブル設計が間違っていますね。

ただ、前任者が作成したものだということなのですぐに設計変更というわけには行かないと思います。

現状のままのテーブルで行くなら、、、、

売上明細からクエリを作成してフィールド欄に下記のように式を入力します。

入数_10: Switch([入数1]=10,[数量1],[入数2]=10,[数量2],[入数3]=10,[数量3]・・・・)

入数_15: Switch([入数1]=15,[数量1],[入数2]=15,[数量2],[入数3]=15,[数量3]・・・・)

・・・・

これを集計クエリにして各フィールドの集計を合計にすればいいでしょう。

できれば、Access、データペースについての学習を深めて、テーブルの設計を見直すことをおすすめします。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2013-04-27T08:34:19+00:00

    なんとなくお気づきだとおもいますが、

    現状の設計だと、いろいろな集計や抽出、検索などのときに今回のように複雑な式を多く記述する必要がでてきます。

    もし、新しい入数の種類が追加されたりすると、そのすべての式を、書きなおす必要が出たりします。

    最初に私が例示したような売上明細テーブルの設計にしておくと、集計や抽出、検索などが簡単にできます。

    もし、お望みならば、現状のテーブルを、正しいテーブルに変換する方法を提示しますので、申し出てください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2013-04-27T07:34:51+00:00

    有難うございます。

    度々お手数をかけてしまい済みませんでした。

    最初から私も、どうも変だなと思ってはいたのですが、確信も持てなくて…

    とりあえず教えて下さった方法を試してみます。

    時間もかかりそうなので、やってみた結果をまたお知らせします。

    有難うございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2013-04-27T05:51:29+00:00

    早速有難うございます。

    実は前任者が居なくなってしまった為に初心者の私がそのまま引き継いだのですが、

    既に沢山のデータが入ってしまっています。

    実際には

    売上明細

    日付 顧客コード 入数1 数量1 入数2 数量2 入数3 数量3…


    4/1     111          10        1    15   2

    から、

    入数別売上


    入数10   入数15

    1       2

    としたいということなんですが、同じ考え方でいいでしょうか?何しろ全くの初めてですので済みません。

    よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2013-04-27T03:09:23+00:00

    データ例で表現すると、

    売上明細

    日付 顧客コード 入数 数値


    4/1     111          10        1

    4/1     111          15        2

    から、

    入数別売上


    入数10   入数15

    1       2

    としたいということですね。

    クロス集計クエリを使えば簡単です。

    クエリで簡単に出力出来ますので、テーブルに書き込む必要性はないです。

    クエリウィザードでクロス集計クエリを選択して、

    行見出しに グループ化したいフィールドを指定(日付ごとに集計なら「日付」、顧客ごとなら「顧客コード」)

    列見出しに 入数

    値に 数値 を指定、集計方法は 合計 を指定。

    以上で希望の結果が得られます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません