現在MS-ACCESSを勉強中でデータベースを作成しようと思い
基本的な使い方を勉強して少しは分かったつもりなのですが
私の希望するデータべースを作るには
どの様にテーブルとクエリを作れば良いか分かりません。
作りたいデータは
顧客Xさん が 6月5日に クーポンAを使い
100,000万円を利用しました。
クーポンAを使った場合は 5%の割引がある。
上記条件にのっとりレポートを作る際に
Accessのフォーム機能を使い、
フォームに必要事項を打ち込めば
自動でクーポン割引を計算してくれた
データベースが作れる様にしたいのです。
また データーベースには
利用日、 氏名、 利用金額、 使用クーポンの種類、 クーポン割引後の金額
が出る様にしたいんです。
クーポンの種類は A~Z 迄あるとします。 また クーポンは
A~Z迄 それぞれ異なった割引があります。
この様なデータベースを作るためには、
どの様なテーブルを作り
どの様なクエリを作れば良いのでしょうか?
詳しい方いらっしゃればお教えください。
以前 Excelで上記のものを作りましたが
Accessでフォーム機能を使い、
フォームに必要事項を打ち込めば
自動でクーポン割引を計算してくれた
データベースが作れる様にしたいのです。
以上宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
顧客Xさん が 6月5日に クーポンAを使い
100,000万円を利用しました。
→ 発生事象となる項目です。これらのレコードを格納するテーブルを用意します。【WK_TBL_利用】
上記条件にのっとりレポートを作る際に
Accessのフォーム機能を使い、
フォームに必要事項を打ち込めば
自動でクーポン割引を計算してくれた
データベースが作れる様にしたいのです。
→ フォーム【FRM_明細入力】で入力、ボタンを押したときに【WK_TBL_利用】へレコードを格納します。
→ 同時にレポート【RPT_明細書】を出力させます。
→ 一連の動作をマクロ【M_印刷】とする。
また データーベースには
利用日、 氏名、 利用金額、 使用クーポンの種類、 クーポン割引後の金額
が出る様にしたいんです。
→【WK_TBL_利用】と【TBL_クーポン】から【TBL_利用】を作成(追加)します。
→ 利用金額×使用クーポンの種類に相当する割引率=クーポン割引後の金額
→ 使用クーポンの種類に相当する割引率は【TBL_クーポン】から取得する
クーポンの種類は A~Z 迄あるとします。 また クーポンは
A~Z迄 それぞれ異なった割引があります。
→ クーポンの種類、クーポン割引率、有効期間、の項目。【TBL_クーポン】とします。
【WK_TBL_利用】と【TBL_利用】は1つで考えても分けて考えても要求機能は可能です。
マスタを直接更新とするか、トランザクションからマスタ更新とするか、です。
【】仮名称
ざっと考えてみた案です。
まず、
テーブル設計から始めないといきなりクエリは思いつきませんというか、
どの機能をクエリで処理するかになってきます。
今回はクーポン毎の割引計算が相当します。
※クエリなく実行できる仕掛けもあります。
フォームに必要事項を打ち込めば
→フォームのレコードソースを【WK_TBL_利用】に
自動でクーポン割引を計算してくれた
→【WK_TBL_利用】と【TBL_クーポン】からの選択クエリに、計算式はクエリで行う
設計、実装部について疑問点あれば再度お願いします。
いろいろ案が出ると思うので、
使えそうなところを抜粋して統合してみるのも手です。
早速のご丁寧な回答をありがとうございます。
私は、私が思っていた以上にaccessの事が分かっていなかったみたいでした・・・。
お教え頂いた通りに作ってみましたが、どうやっても全てのクーポンの種類か金額がレポートに出てしまいます。
作成したテーブル:
TBL1
ID:オートナンバー
顧客名:テキスト型
利用日:日付/時刻型
クーポン種類:テキスト型
利用金額:数値型
TBL2
ID:オートナンバー
クーポン種類:テキスト型
割引率:数値型
クエリ1
クーポン種類(TBL2)
利用金額(TBL1)
割引率(TBL2)---2・・・・5%とかの数値です
入金額: [利用金額]*[割引率]
上記を使いレポートを出すと、入力した任意の数値に対して、選択したクーポンだけをレポートに出したいのですが、どうやっても全てのクーポンが一覧として出てしまいます。
恐らく私の考え方が間違っているだと思いますが、
→【WK_TBL_利用】と【TBL_クーポン】から【TBL_利用】を作成(追加)します。
→ 利用金額×使用クーポンの種類に相当する割引率=クーポン割引後の金額
→ 使用クーポンの種類に相当する割引率は【TBL_クーポン】から取得する
と
→ クーポンの種類、クーポン割引率、有効期間、の項目。【TBL_クーポン】とします
がよく理解できませんでした。
折角もの凄く丁寧な回答をくださったのに、すみません知識不足で。。。(>_<)
何か改善策や、良い参考書等あればお教え頂けると幸いです。
以上宜しくお願い致します。
No.2
- 回答日時:
なるほど。
クエリで、
クーポン種類をテーブル1の値から出す、機能ができてません。Zまでの、テーブル2の件数が出てますね?。
クエリでクーポン種類項目同士を線で結んでますか?。
この回答への補足
あれから試行錯誤して大体できたのですが、どうしても 数値が 小数点以下20桁位出てしまいます。
実際は小数点以下は、四捨五入とか切り上げ・切捨て等をして整数のみ表示したいのですが出来ません。
何が悪いのでしょうか?
SQLです。
SELECT TBL_1.Card決済日, TBL_1.[顧客氏名(ENG)], TBL_1.[顧客氏名(カナ)], TBL_1.[Card Type], TBL_1.[Departure Date], TBL_1.Card利用金額, [Card利用金額]*[%率] AS 予定額, TBL_1.実質入金額, TBL_1.実質入金日, TBL_1.[Card名義人(ENG)], TBL_1.[Card名義人(カナ)], TBL_1.[GRP HEAD]
FROM TBL_1 INNER JOIN TBL_2 ON TBL_1.[Card Type] = TBL_2.[Card Type];
以上宜しくお願い致します。
早速の回答ありがとうございます。
情け無いのですが
クーポン種類をテーブル1の値から出す機能ができてません。
を出すクエリの作り方がわかりません。
TBL2の作り方が間違っているのは理解できました。
クーポン1種類ずつTBLを作ると言う事ですよね?
もしこれが正しいのであればクーポン種類同士は線で結ばれてます。
以上宜しくお願い致します。
No.3
- 回答日時:
テーブル1には発生したレコードが格納されていて、
テーブル2にはクーポンの情報A~Zまでならレコード26件。
の想定でしたが、違うんですね?。
選択クエリです。
SELECT テーブル1.顧客, テーブル1.クーポン, テーブル2.割引
FROM テーブル1 LEFT JOIN テーブル2 ON テーブル1.クーポン = テーブル2.クーポン;
画像の状態。
線で結んだときのプロパティで、
テーブル1の全件と一致するテーブル2だけ出す、
クエリの下のテーブル欄に「テーブル1」となること。
こうにもなってないのでしょう。
クエリのデザインでSQL表示し
それを回答欄に記載していただければ・・・。
この回答への補足
返答が遅くなり申し訳ございません。
頂きましたヒントを元に
あれから悪戦苦闘した結果、なんとなくつかめてきたよう気がします。
もう少しでプロット版が出来そうなので
それから再度連絡させて頂きたいと思います。
面倒だとは思いますが、もう少しだけお付き合い下さいませ。
ありがとうございます。
もう少しです・・・きっと・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- 国産車 ENEKEY SSアプリ の給油について 1 2023/01/07 23:49
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- CD・DVD・本屋 GEOのクーポン 税抜き100円について。 1 2022/04/01 15:12
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- 消費者問題・詐欺 買い物客等から返金を求められたとして、その客がクーポン等を使用し割引料金で購入していたとしても、店は 3 2023/06/24 18:47
- その他(買い物・ショッピング) レジ 紙クーポン 2 2022/11/09 12:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
福利厚生倶楽部(リロクラブ)...
-
クーポンを無限に使用したら逮...
-
LINE1回限りクーポンを何度も使...
-
ローソンアプリのクーポンです...
-
【法律相談】オーダースーツの...
-
Yahooプレミアムに加入を検討し...
-
Yahooフリマの10%オフクーポン...
-
ガストのチラシのクーポンで生...
-
フリマで安く値段の交渉はある...
-
タブレットでQRコードが読み取...
-
クーポンのお一人様につきの意味
-
メルペイのクーポンは本人確認...
-
クーポン毎回使う男ってどう思...
-
男がクーポンを使わない理由
-
ヨドバシ 特別クーポン クー...
-
コージーコーナーの会員登録を...
-
PayPayやおもてなしクーポンの...
-
今までKindleを使ってたのです...
-
ケーズデンキアプリで1000円以...
-
エロゲーができる 古いノートパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クーポン毎回使う男ってどう思...
-
福利厚生倶楽部(リロクラブ)...
-
LINE1回限りクーポンを何度も使...
-
クーポンを無限に使用したら逮...
-
クーポンのお一人様につきの意味
-
お店のポイントカード、クーポ...
-
ローソンアプリのクーポンです...
-
今日レジ打ちで、間違えて期限...
-
レジでポイントやクーポンのご...
-
Yahooフリマの10%オフクーポン...
-
menuと言う飲食のクーポン券が...
-
3000円買って500円オフ...
-
タブレットでQRコードが読み取...
-
チェーン店に行くとクーポンを...
-
マックのクーポンについてです...
-
楽天ふるさと納税のトラベルク...
-
クーポン男と電子クーポン男だ...
-
これはクレーム出るでしょうか...
-
Yahooプレミアムに加入を検討し...
-
TUTAYAについて
おすすめ情報