Hulp boekings systeem

Status
Niet open voor verdere reacties.

drieder

Gebruiker
Lid geworden
11 jan 2007
Berichten
34
Goedendag,

ik ben bezig met een project artiesten registratie en nu heb ik problemen


artiest kan door verschillende klanten op dezelfde datum en het zelfde uur geboekt worden.

Vb.
Alicia Keys klant : Jan 9 januari 2007 begintijd 10.00 eindtijd 10.30

klant 2 kan dezelfde boeking maken

Hopelijk krijg ik snel antwoord op mijn vragen

vriendelijke groet

Danny
 
Laatst bewerkt:
T.a.v. punt 1. Eigenlijk zou je met een vel papier moeten beginnen, en gewoon eens opschrijven wat je wilt en moet weten van elk item.

Later komt dat dan allemaal samen in 'Boekingen'
Bij evenement heb je wel plaats, maar een locatie zal ook een adres hebben, net zo als de klant en ook de artiest zal een adres hebben.
Een gemeenschappelijke adressen lijst lijkt me handig.
Zet alleen de postcode en het huisnummer bij elk neer en laat verder verwijzen.

Artiesten zullen over het algemeen meerder programma's in het aanbod hebben.
Naast de NAW gegevens van de Artiest moet je dus programma's aan hem/haar/hun kunnen koppelen.

Zo zal er nog meer zijn als je er wat langer over na gaat denken.
Bv bij de locatie zul je één of meerder contact personen willen kunnen opnemen neem ik aan en misschien hun 'www' adres (Url). En naast een telefoonnumer (van klant, artiest en locatie) is me mischien handig ook plek voor een 06 en fax te hebben, en vergeet email adres niet.

Ga eerst eens stap voor stap het proces door en schrijf alles op waar je mee te maken krijgt bij een boeking, ga dan pas kijken hoe je e.a. in Access kunt krijgen en welke keys je allemaal nodig hebt.

Misschien kom je wel uit op één tabel voor natuurlijke personen, klant, artiest en medewerkers op een locatie, afhankelijk van hun 'functie' vul je bepalde velden wel of niet.
Bij een bedrijf waar ik werkte zaten de medewerkers ook gewoon in het klanten bestand, alleen was bij hun het veld personeels nummer gevuld en bij de klanten niet.
Zo kan iedereen ook een klant zijn, ook een artiest die een andere artiest boekt, of een medewerker die werkzaam is op of bij een locatie.
 
Laatst bewerkt:
mijn brobleem:

in de tabel boekingen
boeking_id
Klant_id
Artiest_id (key)
Dag
Beginuur (key)
Eindtijd (key)
Maand
Jaar

nu is het niet mogelijk om bv :

18 – februari-2007
Marco borsato
20.00
23.00
Klant Hans bot

19– februari-2007
Marco borsato
20.00
23.00
Klant Hans bot

Dit kan nu dus niet omdat artiest_id , beginuur en eindtijd UNIEK zijn.

Ik weet dus niet hoe ik dit moet oplossen
 
Hallo,

je tabel boekingen klopt niet qua opzet.
Maak er dit van:

boeking_id
Klant_id
Artiest_id (key)
Aanvangstijd (datum/tijd, vul zowel datum als begintijd in)
Eindtijd (datum/tijd, vul zowel datum als einddtijd in)

Dit kan nu dus niet omdat artiest_id , beginuur en eindtijd UNIEK zijn.

Dat klopt zowiezo niet.
Wat als je een artiest een tweede keer inboekt, met dezelfde begintijd en een andere eindtijd?
Dat zou niet mogen kunnen, met jouw regel kan dat wel.

Je moet dit in een formulier regelen, en wel zo dat je VBA code controleert of je geen boeking invoert voor een artiest die al geboekt staat voor dezelfde tdatum, waarbij de tijden elkaar overlappen.

Tardis
 
Ik heb het probleem opgelost :

tabel boekingen
Boeking_id
Evenement_id
Klant_id
Artiest_id (key)
Begintijd (key)
Eindtijd (key)

ik heb het getest en zo werkt het wel.

het enige probleem is wat jij zegt dat je een klant op dezelfde datum en een iets andere tijd , maar wel dat een tijd dat de artiest al bij een evenement is kan boeken.

voorbeeldje

Klant 1 : Daan Vlies
jan smit
19-jan-07
10.00/11.00

Klant 2 : Johan Spek
jan smit 19-jan-07
10.10 / 11.15

dit is wat jij bedoelt neem ik aan.

Ik weet dat dit een probleem is , maar ik zou het echt niet weten hoe ik dit moet oplossen. VBA code daar ben ik niet een ster in.
 
In begintijd en eindtijd vul je nu dus zowel datum als tijd in.
Waarom je erachter zet dat deze kolommen key zijn snap ik niet.
Dat zijn ze namelijk zeker nooit niet ;)

dit is wat jij bedoelt neem ik aan.

Yep.
En daarvoor zul je inderdaad met VBA aan de slag moeten.

Tardis
 
2 artiest kan door verschillende klanten op dezelfde datum en het zelfde uur geboekt worden.

Optreden kan de artiest uiteindelijk maar op één van de twee (of nog meer), je moet dus met een status werken.
Waarbij de status 'Geboekt' uiteindelijk maar één keer voor mag komen.

Zie niet in waarom andere velden uniek zouden moeten zijn.
 
Die andere 2 moeten uniek zijn omdat je anders een dubbele boeking kan maken
 
Optreden kan de artiest uiteindelijk maar op één van de twee (of nog meer), je moet dus met een status werken.
Waarbij de status 'Geboekt' uiteindelijk maar één keer voor mag komen.
Zie niet in waarom andere velden uniek zouden moeten zijn.

Met een status alleen red je het niet.
Een artiest kan namelijk best vaker geboekt worden, alleen niet op dezelfde dag, als er een overlap zit tussen de boekingsduur (begintijd t/m eindtijd).

Hoe Marco Borsato dan, met een optreden op 5 mei 2007 van 14:00 uur tot 15:00 uur in Groningen en op dezelfde datum een optreden in Maastricht van 15:15 tot 16:00 in een kwartier van Groningen naar Maastricht kan komen, tja, da's een ander verhaal :D

Tardis
 
Met een status alleen red je het niet.
Een artiest kan namelijk best vaker geboekt worden, alleen niet op dezelfde dag, als er een overlap zit tussen de boekingsduur (begintijd t/m eindtijd).

Hoe Marco Borsato dan, met een optreden op 5 mei 2007 van 14:00 uur tot 15:00 uur in Groningen en op dezelfde datum een optreden in Maastricht van 15:15 tot 16:00 in een kwartier van Groningen naar Maastricht kan komen, tja, da's een ander verhaal :D

Tardis

ik heb een code gevonden die dit probleem als het goed is moet oplossen

Private Sub ProductName_BeforeUpdate(Cancel As Integer)
If(Not IsNull(DLookup("[ProductName]", _
"Products", "[ProductName] ='" _
& Me!ProductName & "'"))) Then
MsgBox "Product has already been entered in the database."
Cancel = True
Me!ProductName.Undo
End If
End Sub

De velde moeten nu woren ingevuld aan de hand van mij gegevens v , het probleem is dat ik niet weet welke gegevens op welke plek moeten. ik weet wel dat begintijd en eindtijd erin moeten komen , maar niet op welke plek.

Zou je mij hiermee kunnen helpen om in de code mij gegevens te zetten , ik heb al verschillende dingen geprobeerd maar ik kom er niet uit.
 
Die andere 2 moeten uniek zijn omdat je anders een dubbele boeking kan maken

Maar je boekingen kunnen ook afgezecht of alleen maar als optie geresereveerd worden. Werken met een status lijkt mij handiger.
Wat doe je bij een annulering, helemaal verwijderen uit het systeem? Lijkt me niet handig, je wilt vermoedelijk annulerings kosten in rekening kunnen brengen.
 
Maar je boekingen kunnen ook afgezecht of alleen maar als optie geresereveerd worden. Werken met een status lijkt mij handiger.
Wat doe je bij een annulering, helemaal verwijderen uit het systeem? Lijkt me niet handig, je wilt vermoedelijk annulerings kosten in rekening kunnen brengen.




__________________________________________________
mijn database heb ik al zo ontworpen dat :

Klant 1 : Daan Vlies
jan smit
19-jan-07
10.00/11.00

Klant 2 : Johan Spek
jan smit 19-jan-07
10.00 / 11.00

dit kan al niet in mijn database en dit is ook de bedoeling .
_________________________________________________________
het enigste wat ik nu wil oplossen is het probleem en dat is wat ik had uitgelegd en dat is :

Klant 1 : Daan Vlies
jan smit
19-jan-07
10.00/11.00

Klant 2 : Johan Spek
jan smit 19-jan-07
10.10 / 11.15

dit mag niet en dat kan nu wel en ik wil graag dat ik dit kan oplossen , dit is mijn hoofdprobleem nu , en ik kan er niet uit komen ik weet dat ik dit moet oplossen in vba , maar niet hoe.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan