次の方法で共有

Access で単価を求めたい。

Anonymous
2015-09-09T13:17:37+00:00

テーブルでid(オート番号)、品名、単価が入力しています。品名をリストより選択して対応する単価を求めたいのですが。

どうすればよいのでしょうか。dlookupではID番号を入力せねばならないし、ID番号が目的とする品名かどうかはわかりません。

又、求めていない品名も出てきます。品名はただ一つで、次々と品名から単価を呼び出し合計をしたいのです。よろしくお願いいたします。

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

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

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

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

Anonymous
2015-09-10T16:06:40+00:00

「売上げ履歴マスタ」というのは名前としてふさわしくないので、「売上げ履歴」に変更しましょう。(マスターテーブルではないので)

また、id というフィールド名も、何の主キーなのか明確になるように、

商品CD という名前に変更しましょう。

下記のようになります。(最初の回答のままですが)

商品マスタ

 商品CD 主キー 数値型

 品名 長いテキスト型

 価格 通貨型

売上げ履歴マスタ

 売上げID 主キー オートナンバー型

 売上日 日付/時刻型

 商品CD 数値型

 個数  数値型

クエリを新規作成して、2つのテーブルを追加します。

商品マスタ の 商品CD をドラッグして、売上げ履歴 の 商品CD にドロップします。これで 商品CD 同士で結合されます。(テーブルを追加した時点で自動で結合される場合もありますが、その時はこの操作は不要です。)

売上げ履歴のフィールドをすべて表示させます。

商品マスタからは、価格 を表示させます。

このクエリを保存します。名前は、売上げ履歴クエリ とします。

このクエリをもとにフォームウィザードで表形式フォームを作成します。

商品CDのテキストボックスを右クリックして、[コントロールの種類の変更]-[コンボボックス]をクリックします。

コンボボックスに変わります。

コンボボックスの各プロパティを下記のように設定します。

コントロールソース 商品CD

値集合ソース 商品マスター

連結列 1

列数 2

列幅 0cm

これで、ドロップダウンリストから商品名で選択できるようになります。

フォームヘッダーかフォームフッターにテキストボックスを配置して下記のように設定します。

=Sum([単価]*[数量])

これで合計が表示されます。

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

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

10 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2015-09-10T08:15:12+00:00

    ありがとうございます。

    お教えいただいた方法でフォームを作りましたが、

    品名をクリックしても品名が変わりません。フォームの設定がうまく作れていないのが原因かもしれませんが。また価格も対応した価格が表示されていません。合計も非表示になっています。悩んでいます。

    よろしくお願いいたします。

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

    0 件のコメント コメントはありません
  2. Anonymous
    2015-09-10T05:33:35+00:00

    クエリの設計を間違えている可能性が高いですね。

    作成したクエリをSQLビューにして、そこのSQL文をコピーしてここに貼り付けてください。

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

    0 件のコメント コメントはありません
  3. Anonymous
    2015-09-10T05:18:22+00:00

    有難うございます。ご記入のとおり作業いたしました。

    フォームで品名は変わりましたが、単価が変わりません。

    操作の仕方が悪いのかもしれませんが。もう一度ご検討の上よろしくお願い申し上げます。

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

    0 件のコメント コメントはありません
  4. Anonymous
    2015-09-09T23:16:20+00:00

    現状のテーブル構成が不明ですが、一般的な例で回答しますね。

    売上管理が目的だとすると、一般的には下記のような構成になります。

    商品マスター

     商品CD 数値型 主キー

     品名 テキスト型

     単価 通貨型

    売上履歴

     売上ID オートナンバー型 主キー

     売上日 日付/時刻型

     商品CD 数値型

     個数 数値型

    あくまで一例で、単価が頻繁に変わる時とか、状況により変わります。

    クエリを新規作成して、売上履歴と商品マスターを追加して、商品CD で結合します。

    売上履歴の全フィールドを表示させて、商品マスターからは、単価を表示させます。

    このクエリをレコードソースとする帳票フォームを作成します。(フォームウィザードを使うと簡単にできます。)

    商品コードのテキストボックスを右クリックして、[コントロールの種類の変更]-[コンボボックス]をクリックします。

    コンボボックスに変わりますので、それの各プロパティを下記のように設定します。

    コントロールソース 商品CD

    値集合ソース 商品マスター

    連結列 1

    列数 2

    列幅 0cm

    これで、ドロップダウンリストから商品名で選択できるようになります。

    フォームヘッダーかフォームフッターにテキストボックスを配置して下記のように設定します。

    =Sum([単価]*[数量])

    これで合計が表示されます。

    単価が頻繁に変わるという状況の場合はまた対策が必要ですが、とりあえずは上記を完成させてください。

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

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