Ga naar inhoud


Acces database vraag


newbier

Aanbevolen berichten

Hoi,

 

Ik probeer al een tijdje uit te vogelen hoe ik in mijn database een correcte prijzberekening kan bewerkstelligen.

 

Als er een object verhuurd wordt dan moet er de correcte prijs worden berekend.

 

Als een bv object met de objectcode A worden verhuurt kost hij voor 3 dagen 10,00 euro.

 

 

Heeft iemand een tip hoe ermee te beginnen?

 

Ik heb een bestandje bijgevoegd mischien kan iemand zijn licht er over laten schijnen of ik uberhaupt goed bezig ben.

 

Alle tips zijn van harte welkom.

 

Sorry bijlage vergeten is nu bijgevoegd

Groeten Hein

Link naar reactie
Delen op andere sites


ik heb in de bijlage een query gemaakt, die heet Prijsberekening.

 

3 dagen 10 euro? dat is 3,33 euro per dag?

 

ik heb in je voorbeeld 3 euro per dag berekend, het aantal dagen wordt berekend en daarna de totaalprijs.

 

of probeer de onderstaande query:

 

Code:
SELECT verhuur.Fietsnummer, verhuur.verhuuriD, Fietsen.Objectcode, Prijzen.dag AS dagprijs, verhuur.Datumto, verhuur.datumva, [datumto]-[datumva]+1 AS aantal_dagen, [aantal_dagen]*[dagprijs] AS totaalprijsFROM (Prijzen INNER JOIN (Fietsen INNER JOIN verhuur ON Fietsen.fietsID = verhuur.Fietsnummer) ON Prijzen.Objectcode = Fietsen.Objectcode) INNER JOIN Hfdgroepen ON Prijzen.Objectcode = Hfdgroepen.Objectcode;
Link naar reactie
Delen op andere sites

Hoi,

 

Heel hartelijk dank voor je hulp / bijdrage.

 

Alleen heb ik het denk ik niet goed uitgelegd.

 

Ik maak gebruik van staffelprijzen. Dit betekend dat bv:

 

Object A

1 dag 5,00

2 dagen 8.50

3 dagen 11.50

 

Object B

 

1 dag 3.75

2 dagen 5.50

3 dagen 7.50

 

Als nu bv Object A voor 3 dagen gehuurd wordt moet er 11,50 berekend worden.

 

 

Groeten Hein

Link naar reactie
Delen op andere sites

Laat me eerst wat algemene opmerkingen geven.

 

Je bent behoorlijk aan het normaliseren geslagen. Het is allemaal wel goed maar je maakt het je wel een stuk lastiger. Waarom maak je niet 1 tabel met te verhuren artikelen? Volgens mij heeft die uitsplitsing naar dames of heren fiets helemaal geen toegevoegde waarde. Want hoe werkt het in de praktijk? Er komt een klant. Jij gaat kijken wat je nog hebt staan aan fietsen, dat doe je niet met je computer. En daarna registreer je dat klant X fiets 25 voor 5 dagen meeneemt. Advies: maak het jezelf eerst zo makkelijk mogelijk.

 

In tabel VERHUUR mis ik de koppeling met de klant. Nou zou ik voor klanten ook geen aparte klanttabel maken. De kans dat een klant nog eens terugkomt lijkt me minimaal. Het veld DAGEN hoort niet in de database omdat je dat kan berekenen.

 

Tabel MERK lijkt me voor je verhuur ook niet nodig. Kan later ook nog wel.

 

Tabel HFDGROEPEN bevat naar mijn idee 2 sleutels (GROEPID en OBJECTCODE). Je hebt er maar 1 nodig.

 

Ook de tabel FIETSEN bevat 2 sleutels (FIETSID en FIETSNUMMER). Het nummertje dat jij op de fiets plakt is geschikt als sleutel.

 

En dan je PRIJZEN tabel. Je maakt het wel ingewikkeld met staffel prijzen. In je voorbeeld geef je 3 dagen. Maar wat met 5 of 11 dagen? Je kan onmogelijk voor alle huurperioden een bedrag in de prijzentabel opnemen. Bovendien moet je rekening houden met het feit dat 6 dagen huren duurder kan zijn dan 1 week huren.

Er is dus niet zomaar 1 query te verzinnen, je zal in de code een prijsberekening moeten doen afhankelijk van de huurperiode.

 

De prijstabel komt er dan bijvoorbeeld zo uit te zien:

Aantal,Eenheid,Prijs

1,d,5,00

2,d,8,50

3,d,11,00

1,w,30,00

2,w,55,00

 

Waarin d=dag en w=week. En dan mis je dus nog gegevens over wat het kost als ik bijvoorbeeld 4 dagen wil huren. Je zou dan nog een code moeten opnemen voor 4 dagen en meer.

 

De kortingen en toeslagen zou ik in een aparte tabel doen. Zijn kortingen en toeslagen werkelijk gebonden aan de soort fiets?

 

Bondig samengevat: De prijzentabel kan zo niet. Die moet je uit normaliseren.

 

Suc7

  • Resistance is futile you will be assimilated
  • Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety. Benjamin Franklin (1706-1790)
  • Mijn vrijheid eindigt niet waar jouw angst begint!

 

 

Link naar reactie
Delen op andere sites

Hoi,

 

bedankt voor de tips.

Ben niet zo erg thuis in het maken van databases maar is wel erg leuk.

 

Ik ben even opnieuw begonnen en heb alles een beetje eenvoudiger gemaakt.

Er moet natuurlijk nog veel aan gebeuren.

 

Over de prijsberekening. Ik ben toch met staffelprijzen aan de gang gegaan en heb (zie bijlage) de volgende oplossing bedacht.

Zo kan ik voor elke willikeurige groep een staffelprijs maken.

Wel is het zo dat ik nog iets moet inbouwen als ik boven een max aantal dagen kom dat hij dan een prijs per dag doorrekend.

 

Ik heb dus een bijlage bijgesloten waarin te zien is wat ik gedaan heb.

 

Groeten Newbier

Link naar reactie
Delen op andere sites

Ja, dit is wat ik bedoelde. Je kan nu ook een prijscode invoeren voor weken. Het veldtype van de verhuurprijs zou ik op valuta zetten.

 

Waar je nog eens over kan nadenken is een andere benadering van je staffelprijzen.

Je zou een korting methode kunnen gebruiken. Bijvoorbeeld: de prijs voor 1 dag is 5 euro, dus 5 dagen is 25 euro. In een tabel KORTING neem je nu de korting op voor als je meer dan 1 dag huurt.

 

Dat ziet er dan zo uit:

 

Code:
  1,2,0       1 of 2 dagen huren dan 0 euro (of 0 procent) korting3,5,1       3 t/m 5 dagen huren dan 1 euro per dag korting (of 1 procent)6,leeg,2    6 of meer dagen huren dan 2 euro korting per dag (of 2 procent) 
  • Resistance is futile you will be assimilated
  • Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety. Benjamin Franklin (1706-1790)
  • Mijn vrijheid eindigt niet waar jouw angst begint!

 

 

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

Lees alvorens je verder gaat onze Gebruiksvoorwaarden en Privacybeleid. We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.