Hoeveel kamers vrij

Status
Niet open voor verdere reacties.

JosSnoek

Gebruiker
Lid geworden
30 dec 2007
Berichten
24
Goedenavond,

Omdat ik nog niet zover ingevoerd ben in Access, hoop ik dat één van jullie mij een antwoord op de volgende vraag kan geven.
Ik heb een database gebouwd voor een pension.
Nu wil ik graag bij een aanvraag voor een kamer weten hoeveel kamers ik vrij heb en ook welke kamers ik vrij heb.
De kamernummering staat in een aparte tabel.
Kan iemand mij helpen?
Zoals ik al gezegd heb ben ik een beginneling in het gebruik van Access.
Alvast bedankt!:rolleyes:
 
Je informatie is te summier.
Je kan vragen stellen aan de database dmv query's. Om van "variabele" informatie gebruik te maken (bijv. welke kamers zijn vrij van periode.. tot periode...) kan je een formulier als input gebruiken.
Post je database even en dan kijken we verder.
 
Je informatie is te summier.
Inderdaad! Maar je zult wel moeten zoeken naar iets als
Code:
Select KamerNr FROM TBL_Kamers WHERE KamerNr NOT IN (Select KamerNr FROM TBL_Reservations)

Maar daar moeten dan uiteraard nog criteria als datum, tijd, etc bij komen, want anders zullen er al gauw geen kamers meer beschikbaar zijn ;)
 
Je informatie is te summier.
Je kan vragen stellen aan de database dmv query's. Om van "variabele" informatie gebruik te maken (bijv. welke kamers zijn vrij van periode.. tot periode...) kan je een formulier als input gebruiken.
Post je database even en dan kijken we verder.
 
Hoe groot mag het bestand zijn wat ik upload/ Ik heb het nu ingepakt met WINRAR en is 952 kb groot.
 
Ah, dat lukt idd niet. Even wat data weggooien (uiteraard in een kopie!) en dan middels extra/database hulpprogramma's/comprimeren en herstellen de overbodige objecten weggooien. Dan opnieuw zippen en opsturen

succes!
Rene
 
Ja en toen was het bestand nog 308kb.
Hoe kan ik deze nu opsplitsen tot max.100 Kb?
 
Kun je wellicht overbodige forms verwijderen zodat je alleen de relevante tabellen en form(s) overhoudt?
 
Ok, ik heb de ZIP file erbij gezet.
Alvast bedankt!
Het stelt trouwens niet eens zo veel voor deze database maar je moet klein beginnen denk ik maar zo!
 

Bijlagen

Bedankt, ik heb 'm. Alvorens verder te gaan: ik zie dat je in Gastinformatie Havenblik alle gasten opslaat. Komt een gast vaker terug? Ik vermoed van wel, vandaar uitzetting, waarschuwing, etc. Dan is het handiger om de tabel te splitsen in een NAW info en een kamer info. Kort door de bocht gezegd: Alle velden in deze tabel laten, maar Verdieping / kamer / bed eruit halen en in een aparte tabel zetten, bv tabel tbl_bezetting

Dus:
tbl_bezetting (GastenID, kamerID, DatumIn, DatumUit)
 
Het is niet de bedoeling dat een gast nogmaals terugkomt, dus dat probleem is niet aan de orde.
Wat nu mijn bedoeling is, is dat ik een veld in het formulier maak waarop automatisch een berekening wordt uitgevoerd.
Voorbeeld, Ik heb 60 bedden leeg.
op het moment dat ik een gast inschrijf is het de bedoeling dat er in het veld aangetoond wordt dat er nog maar 59 bedden leeg zijn.
Een makkelijke vraag maar voor mij als Access leek lastig te beantwoorden.

Het zou nog mooier zijn als in het veld aangetoond zou worden welke bedden nog leeg zijn, maar ik denk dat ik dan teveel vraag!
Hartelijke groeten,
Jos
 
Ik weet niet waar je nu opslaat wie van wanneer tot wanneer waar is, maar ik heb je form iig aangepast. Wellicht wil je gewoon een record verwijderen als de kamer weer vrij is, dan kun je het laatste stuje uit de where clause verwijderen.

Wat ik gedaan heb: op het Form_Current() event (dat wordt aangeroepen na het inlezen van een record) roep ik een routine CalculateRooms() aan.

Code:
Private Sub CalculateRooms()
  Dim strSQL As String
    strSQL = "SELECT [Verdieping / kamer / bedID], [Verdieping / kamer / bed] FROM " & _
             "[Verdieping / kamer / bed versie2] WHERE [Verdieping / kamer / bedID] NOT IN " & _
             "(SELECT [Verdieping / kamer / bedID] FROM [Gastinformatie Havenblik] WHERE " & _
             "[Datum uitzetting] > Date() AND [Datum laatste controle] <= Date())"
    Me.Keuzelijst_met_invoervak77.RowSource = strSQL
End Sub

Zoals eerder gezegd, als je het record gewoon weer wilt verwijderen, dan kun je volstaan zonder de laatste WHERE clause:
Code:
    strSQL = "SELECT [Verdieping / kamer / bedID], [Verdieping / kamer / bed] FROM " & _
             "[Verdieping / kamer / bed versie2] WHERE [Verdieping / kamer / bedID] NOT IN " & _
             "(SELECT [Verdieping / kamer / bedID] FROM [Gastinformatie Havenblik])"

Overigens zou ik je willen aanraden om de veldnamen wat simpeler te houden, dan is de code ook een stuk leesbaarder
 
Ik mag wel zeggen dat ik op mijn wenken bediend wordt, waarvoor mijn hartelijke dank.
Kan je mij nu (als Accessleek) uitleggen waar ik deze codering in moet zetten?

Met vriendelijke groeten,
Jos
 
Dit ziet er al een stuk beter uit, met dien verstande dat ik nu niet 2 maal hetzelfde bed kan verhuren.
Binnen het formulier wordt nu aangegeven middels een opmerking dat ik niet 2 maal naar hetzelfde record kan gaan.
Hoe denk jij over een veld waarin ik kan zien welke bedden er nog vrij zijn?
Met vriendelijke groeten,
Jos
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan