Reservering in Access

Pagina: 1
Acties:
  • 335 views sinds 30-01-2008
  • Reageer

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Hallo allemaal,

Ik moet voor een manege een reserveringssysteem maken. Om het geval een beetje intuïtief te maken wil ik voor een door de gebruiker bepaalde dag laten zien welke tijden er nog over zijn. Met behulp van andere topics ben ik hier aanbeland (hij doet niks).
[sqlcode]
SELECT begintijd.Id, begintijd.Tijd
FROM begintijd
WHERE NOT EXISTS
(SELECT COUNT( * )
FROM Reservering RSV
WHERE RSV.Paardnr=4 AND RSV.Datum=#05-23-02# AND RSV.BegintijdID = Begintijd.Id);
[/sqlcode]

De tabel reserveringen bestaat uit de volgende velden:
ID, Instructeurnr, Paardnr, Klantnr, Lesnr, BegintijdID, EindtijdID, Datum.
De tabel Begintijd bestaat uit ID en Tijd, dit om te zorgen dat men kan kiezen uit de diverse begintijden, elk half uur een. Heeft iemand een idee hoe dit moet?
edit:
smiley bij select count uitgezet

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Volgens mij klopt uw where aan geen kanten.

WHERE NOT EXISTS (SELECT COUNT(*D ...

is redelijk onorthodox imo.

https://fgheysels.github.io/


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Dus als iemand om 14:00 begint en hij heeft een uur gereserveerd (eindtijd 15:00)
is 14:30 nog vrij.. althans dat is dan volgens jouw methode.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Dat zou je kunnen voorkomen door bij het opslaan er voor te zorgen dat een afspraak van een uur wordt opgeslagen als twee afspraken van een half uur.... ;)

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Ik vond het ook redelijk vreemd, maar dit vond ik in een eerdere vraag over een reservering in access. Het probleem met die tijdsduur is van later zorg: eerst zorgen dat dit werkt, stapje voor stapje. werkt meestal het makkelijkst. Als iemand een totaal andere suggestie heeft dan ik tot nu toe heb, vind ik het prima, zolang het maar werkt. voorlopig werkt het niet ;(
Link naar vorige topic: [topic=210558/1/25]

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Nog even iets toevoegen: Het maakt niet uit wat ik probeer, er komt geen schot in. Of alle mogelijke tijden uit de Begintijd tabel komen op het scherm, of er komt helemaal niets. weet er iemand een oplossing? :? Help! :'(

* MBV vindt MS Access zwaar klote |:(

  • -Klimaks-
  • Registratie: Maart 2001
  • Laatst online: 04-09 10:10
Probeer het volgende is
code:
1
2
3
4
5
6
7
SELECT begintijd.ID, begintijd.Tijd
FROM   begintijd
WHERE  begintijd.ID NOT IN (SELECT  rsv.begintijdid 
                    FROM    reserving rsv
                    where   rsv.paardnr = 4 AND
                        rsv.datum = #05-23-02#
                   );

In de subselect vraag je al begintijdID op met bepaald paard en bepaalde datum, en dan laat je alle begintijden zien die daar niet inzitten en dus nog vrij zijn.

In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Hij doet het! B-)
Ik heb het nog niet uitgebreid getest, maar nadat ik reserving door reservering heb vervangen, werkt hij (voor zover ik nu weet). :7
Nu nog kijken of ik een mooie interface eromheen kan maken :)

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Nu doet de query het, maar zit ik met het formulier. Ik wil een formulier (doorlopend) waarbij je in de koptekst het paard en de datum kan invullen. Die 2 variabelen moeten dus worden doorgegeven aan de query. Hoe moest dat ook al weer? (in help heb ik niks kunnen vinden). Ik weet het, ik ben een n00b op access gebied, maar ik loop tegen een deadline aan.
Ook moet ik nog iets op begintijd/eindtijd vinden. Niet noodzakelijk, ik kan natuurlijk ook meerdere reserveringen maken voor 3x half uur. Suggesties?

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Het formulier is gelukt, maar ik moet nog iets verzinnen op lange reserveringen. Iemand? :? ik wordt :r van Access

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Ik denk dat het handigste is voor langer dan een half uur, om gewoon bijv. 4 reserveringen te maken (voor 2 uur). Hoe doe ik dat vanuit een form? Of de nette oplossing: zorg dat de query met begintijd en eindtijd rekening houdt. Hoe doe ik dat?

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Is de titel te oninteressant of is het onderwerp te moeilijk? ik ben meer reacties gewend van GOT :Z

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Ik geef het op, als er nu niet een reactie komt moet ik nog harder zoeken. HELP :'(

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Geef de mensen eens wat tijd. Je moet niet zo ongeduldig zijn en uw topic niet zo snel omhoogschoppen.
(ps: het is trouwens ook wel de bedoeling dat je zelf je best doet om het probleem op te lossen en dat je zelf hard gaat gaan zoeken ipv het aan anderen over te laten)

Uit de faq:
Wees ook geduldig. Niet elke vraag heeft altijd een makkelijk antwoord. Soms zul je maar 1 minuut op een antwoord hoeven te wachten en soms een paar uur tot een dag. Ga aub niet je eigen topic om de 10 minuten weer 'in het zicht krijgen' door er op te reply'en met iets als 'weet iemand het al?'. Mocht je na een dag geen antwoord hebben gehad mag je uiteraard wel door middel van een post je topic weer wat onder de aandacht brengen.
en
Wacht minstens 6 uur voor je je topic omhoog schopt. Doe dit dan ook alleen met een zinnige opmerking en dus niet met "Waarom antwoord er nou niemand" nadat je 5 minuten geen antwoord hebt gehad. Sommigen van ons hebben een leven

https://fgheysels.github.io/


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

zie whoami. wacht dus gewoon geduldig

Doet iets met Cloud (MS/IBM)


Verwijderd

Koop gewoon een access boek ofzo, daar staat al deze ongein in hoofdstuk 1 "Beginnen met Access" in.

Scheelt je internetten.

  • Thunk
  • Registratie: Maart 2002
  • Laatst online: 14:13
Op woensdag 29 mei 2002 19:40 schreef Spectral het volgende:
Koop gewoon een access boek ofzo, daar staat al deze ongein in hoofdstuk 1 "Beginnen met Access" in.

Scheelt je internetten.
of stel een vraag op tweakers

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Je pakt het verschil tussen begintijd en eindtijd in minuten.
Dat deel je door 30.
Dan heb je het aantal reserveringen dat je moet maken.
Dan dan je voor i = 0 to aantalreservering INSERT reservering.
Met begintijd als eerste en daarna steeds + 30 minuten.

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Helaas, in de broekhuis cursus voor beginners en ook die voor gevorderden staat niks over dit soort dingen, oftewel bijna niks wat niet met een wizard kan. Hoofdstuk een behandelt hoe je access moet starten. En ik was al hard aan het zoeken, maar heb niks kunnen vinden. iig niets in de helpfile, waar je dit soort ongein toch zou verwachten. En internetten is niet duur: pa en ma betalen 8-)
edit:
Ik krijg pas reactie als ik te veel schop, het heeft dus wel zin :+

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Thkx, Rob! Maar ik gebruik geen tijden, maar een tabel met tijdstippen. Hoef dus niks door 30 te delen, heb ik al gedaan :) Weet iemand iets om de query die eerder genoemd is met een begin- en eindtijd te laten werken? anders wordt het nog knap lastig om vervolgens een instructeur uit te zoeken die nog 3x 30min beschikbaar is ;)

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
code:
1
WHERE begintijd NOT IN (SELECT begintijd FROM tijdstippen WHERE ...)

of zo iets.

Als je eens goed nadenkt kom je er wel uit. 't Is volgens mij zo geen moeilijke query.

https://fgheysels.github.io/


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Zover was ik al, kijk maar +- 13 posts naar boven, daar staat dat al. maar hoe pas ik hem aan dat hij ook met rsv.eindtijdID werkt?

*MBV verklaart zich tot accessexpert als het project af is >:)

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Dit is niet hetzelfde als uw beginpost... Trouwens, als we de lay-out van uw tabellen niet zien, is het moeilijk om te helpen.

https://fgheysels.github.io/


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
De tabel reserveringen bestaat uit de volgende velden:
ID, Instructeurnr, Paardnr, Klantnr, Lesnr, BegintijdID, EindtijdID, Datum.
De tabel Begintijd bestaat uit ID en Tijd, dit om te zorgen dat men kan kiezen uit de diverse begintijden, elk half uur een. Heeft iemand een idee hoe dit moet?
Dit stond dus wel in de beginpost.

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Niet om te schoppen, maar ter verduidelijking (met msn zitten kletsen, en is voor mezelf iets duidelijker)

Ik zoek dus een manier om in de reservering begintijd en eindtijd op te geven, en als ik dan zoek dat de tussenliggende waarden niet als beschikbaar worden opgegeven. De tijden worden als nummer (1-21) opgeslagen, niet als tijd, en worden opgezocht in tabel begintijd. Dat rekent iets makkelijker. Heeft iemand een suggestie hoe dit in SQL kan :?

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
Echt niemand? En dat voor iets dat in hoofdstuk 1 van een access cursus moet staan volgens een reactie hierboven :o

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:32

gorgi_19

Kruimeltjes zijn weer op :9

En wat heb je in de afgelopen 3 weken voor extra informatie verzameld voor ons? Nieuwe uitprobeersel, wat heb je extra geprobeerd, etc.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 04-09 22:20
sorry, mijn fantasie is op ;) ga nog wel wat aanklooien de komende tijd (vakantie :9 )
Pagina: 1