Query help gevraagd

Status
Niet open voor verdere reacties.

Paultjuhh

Gebruiker
Lid geworden
17 jan 2007
Berichten
9
Hallo!

Ik moet voor een vakantiepark een database maken.
Hierbij willen ze graag dat de boekingen in een mooi rapport uitgeprint kunne worden, en daarmee zit ik met een probleem. Ik heb nmlijk 3 Boekings tabellen waarvan dan dus 1 query gemaakt moet worden, voordat ik er een rapport van kan maken.

Nou wil k vragen, hoe kan ik dit oplossen, en dat alle gegevens weergegeven worden, zonder dat er dubbele in zitten.

Mijn ERM zit hierbij als bijlage.

Alvast bedankt =)
 

Bijlagen

  • ERM.JPG
    ERM.JPG
    54,2 KB · Weergaven: 99
Hallo,

Ik heb nmlijk 3 Boekings tabellen

vandaar je probleem ;)
1 boekingstabel is meer dan voldoende.
Ik zie dat je per verblijslocatie een tabel hebt opgezet.
Verblijven neem je op een aparte tabel.
Als je een boeking invoert kies je uit een keuzelijst voor de verblijfslocatie.
Er is geen enkele reden waarom je 3 tabellen zou gebruiken.

Tardis.
 
Hallo,



vandaar je probleem ;)
1 boekingstabel is meer dan voldoende.
Ik zie dat je per verblijslocatie een tabel hebt opgezet.
Verblijven neem je op een aparte tabel.
Als je een boeking invoert kies je uit een keuzelijst voor de verblijfslocatie.
Er is geen enkele reden waarom je 3 tabellen zou gebruiken.

Tardis.

Maar de verschillende verblijven kunnen niet samen in 1 tabel, want de prijzen zijn verschillend, dus die moeten zoiezo al in een apparte tabel.
Ook de boekingen moeten zo, want als k 1 boekingstabel maak, hoe wil ik dan de verblijven daarmee gaan linken?
 
Maar de verschillende verblijven kunnen niet samen in 1 tabel, want de prijzen zijn verschillend, dus die moeten zoiezo al in een apparte tabel.

Onjuist.
Voor entiteiten (gegevens met exact dezelfde kenmerken) gebruik je 1 tabel.
Prijzen leg je vast als je een verblijfslocatie invoert.

Ook de boekingen moeten zo, want als k 1 boekingstabel maak, hoe wil ik dan de verblijven daarmee gaan linken?

Ook onjuist.
Neem je verblijven op in een keuzelijst.
Als je boeking invoert, selecteer je het gewenste verblijf uit de keuzelijst.

Verdiep je anders eerst eens in normaliseren.
Daarmee leer je hoe je een juiste gegevensstructuur opzet.

Groet,

Tardis
 
Onjuist.
Voor entiteiten (gegevens met exact dezelfde kenmerken) gebruik je 1 tabel.
Prijzen leg je vast als je een verblijfslocatie invoert.



Ook onjuist.
Neem je verblijven op in een keuzelijst.
Als je boeking invoert, selecteer je het gewenste verblijf uit de keuzelijst.

Verdiep je anders eerst eens in normaliseren.
Daarmee leer je hoe je een juiste gegevensstructuur opzet.

Groet,

Tardis


Conclusie, jij zegt dat er maar 3 tabellen nodig zijn..
 
Juiste conclusie.

Kijk eens naar het standaard sjabloon wat er in zit service beurten hier kun je een hoop nuttige dingen uithalen.

En noordwind is natuurlijk ook altijd een goede hulp.
 
maar vink wel vaag, want mijn leraar zegt dat het juist niet in 3 tabellen kan.
Kheb als bijlage de databse erbij gdaan, dan kun je het zelf zien.
plz help =)
 

Bijlagen

  • Houtensteijn.rar
    68,1 KB · Weergaven: 30
Je zou minimaal deze tabellen moeten hebben:

- tblVerblijf
- tblPrijs met daarin de prijzen per locatie per periode
- tblBoeking met boekingsgegevens
- tblKlant met klantgegevens

Daarnaast zou ik een tabel tblPeriode gebruiken.

Relaties

1 op veel tussen tblVerblijf en tblPrijs
1 op veel tussen tblKlant en tblBoeking
1 op veel tussen tblBoeking en tblVerblijf

Waarom en hoe moet je zelf uitpuzzelen, da's nou net waar je opdracht voor bedoeld is.

Tardis
 
uit de waarom kom k wel, maar niet uit de hoe, ook omdat ik niet alle 3 de verblijven in 1 tabel kan zetten. Caravans en bungalows kunnen idd prima samen. Maar kampeerplaatsten moet daar los van staan, dit omdat het per dag gaat, en niet over een bepaalde periode. Dit houdt in dat er per dag geboekt wordt, en dat er per dag wordt betaalt. Ook komt er nog eens 3 pleuro pp per dag bij. Dus die moet zoiezo in een andere tabel, en dan krijg je weer ongeveer zoals k het nu ook heb.
Maar goed.
Hier ging het niet om =P
Uit mijn begin vraag ben k ook gekomen, ik ben erachter dat je gwoon alle gegevens van de 3 tabellen Boekingen, in 1 query moet douwen, en klaar is keed (Paul in dit geval xD)
Ik zat moeilijk te denken =)
 
ook omdat ik niet alle 3 de verblijven in 1 tabel kan zetten

Dat kan wel, sterker nog, dat moet als je aan normalisatie principes houdt.
Je ontwerp klopt niet.
Beter uitleggen dan ik al heb geprobeerd kan ik niet.

In ieder geval succes met je opdracht ;)

Tardis
 
Daar ben ik niet goed genoeg in Access in =P
Maar maakt ook niet uit, zo kan het ook =)

Nu zit k wel met nog een ander probleempje
Als er een boeking gedaan wordt, moet erbij verschijnen in welk seizoen dit valt (hoog seizoen, na seizoen)
Hoog seizoen : 1 mei t/m 31 sept
Na seizoen : 1 okt t/m 30 april

Hiervoor wil k dus een query maken, maar weet neit precies hoe
Ik zit al in deze richting te denken:

Between "01-05-####" And "31-09-####" = hoog seizoen

Between "01-05-####" And "31-09-####" = na seizoen

Dit kan alleen (nog) niet, omdat ik geen tabel heb met hoog- en na seizoen
Ik weet ook niet of ik die moet maken, of dat het anders op te lossen is

Alvast heel erg bedankt =)
 
Dit kan alleen (nog) niet, omdat ik geen tabel heb met hoog- en na seizoen

Dan maak je die toch?

Kan ook via een berekend veld in een query.
Daarin gebruik je dan de IIF, de Format en de INT functie.
Wordt dan zoiets als

IIF(INT(Format(jedatumveld,"mmd")) BETWEEN 501 AND 930, 'Hoogseizoen','Laagseizoen')

Wellicht dat je de komma's door puntkomma's moet vervangen.
Zelf ff verder uitproberen en puzzelen ;)

Tardis
 
ja, dat zoek ik! dat het berekend wordt in een query =)

Maar heb ik aan
IIF(INT(Format(jedatumveld,"mmd")) BETWEEN 501 AND 930, 'Hoogseizoen','Laagseizoen')
genoeg om hem geheel te laten werken?
Ik ga er zondag mee knutselen, aangezien ik eerder geen tijd heb -_-'
Maar meer hulp is altijd welkom =)
iig alvast bedankt =)
 
Maar heb ik aan
IIF(INT(Format(jedatumveld,"mmd")) BETWEEN 501 AND 930, 'Hoogseizoen','Laagseizoen')
genoeg om hem geheel te laten werken?

Een goede manier om daarachter te komen is....juist...gewoon even proberen ;)
Heb dit zelf niet getest, dus je zult dit zonodig zelf aan moeten passen.

Tardis
 
Laatst bewerkt:
okej, ben er mee bezig geweest, maar kom er niet uit.

IIF(INT(Format(jedatumveld,"mmd")) BETWEEN 501 AND 930, 'Hoogseizoen','Laagseizoen')

bij "jedatumveld", welk datumveld moet k daar in typen.
k heb nmlijk 2 datum velden, DatumVan en DatumTot
ook zegt ie steeds dat de syntax neit klopt, iets met haakjes dagt k, maar de haakjes staan goed, ook heb k de komma's door punt-komma's veranderd, maar dat maakt niet uit.
Ook weet k niet zo goed waar ik dees in de query neer moet zetten.
Heb een nieuwe query gemaakt.
Hierin staat DatumVan, DatumTot en Seizoen.

plz help..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan