Én igazán nem akarok okoskodni, kedves Györgyi, de ha már van férjed és lányod, mégis tanulsz valamiért, és abban az igen-igen szerencsés helyzetben vagy, hogy külföldön tanulhatod a szakmánkat, akkor igazán vehetnél annyi fáradtságot, hogy megnézed az Access súgóját és példaadatbázisait, és a neten keresel kifejezetten kezdő programozók számára készített weboldalakat. Biztos vagyok benne, hogy sokkal hamarabb el tudod készíteni magad is a feladatot, mint itt megpróbálgatni írogatni és ismeretlenektől szedni valami információt (mert ebből úgysem lesz program sosem), ráadásul sikerélményed is lehetne.
=======================
E-R
=======================
minta: NameOfTable [RelatedColumn : Multiplicity]
Payee [payee_id; 1] :-- [n, payee_id] DailyPayment [denomination_id; 1] :-- Denomination [n; denomination_id]
=======================
Data Dictionary
=======================
Payee:
----------
-Payee_ID: Int // autoincrement
-Name: VarChar // pl. John Holmes
PK: Payee_ID
Index: Payee_ID, Name
DailyPayment:
----------------
-Day: Date // date of payment
-Payee_ID : Int // id of payee
-Denomination_ID : Int // id of denom. (címlet)
-CountOf: Int // Number of coins or sheets of that denomination
PK: Day, Payee_ID, Denomination_ID
Denomination:
------------------
-Denomination_ID : Int // identifier
-Title : String // name of coin or sheet, eg. $10, c5, $5 etc
-Amount : Float // Value of the coin/sheet, e.g. 1 for $1, 0.1 for cent 1, 10 for $10
PK: Denomination_ID
=======================
Reports:
=======================
Monthly income:
------------------
SELECT DailyPayment.denomination_id, sum(DailyPayment.CountOf*Denomination.value)
FROM DailyPayment,Denomination
WHERE
(Month(Day) = Month($monthInIssue)) AND
(Denomination.denomination_id = DailyPayment.denomination_id)
GROUP BY denomination_id;
Payment total by payee:
--------------------------
SELECT Payee.name, sum(DailyPayment.CountOf*Denomination.value)
FROM Payee,DailyPayment,Denomination
WHERE
(Payee.Payee_ID = DailyPayment.Payee_ID) AND
(Denomination.denomination_id = DailyPayment.denomination_id)
GROUP BY Payee.id;
Number of $10 sheets payed on a given day:
---------------------------------------------
SELECT Denomination.Title, Count(DailyPayment.CountOf)
FROM DailyPayment, Denomination
WHERE DailyPayment.Day = $dayInIssue AND
Denomination.Title = "$10"
GROUP BY Denomination_ID