Controle [begin datumtijd - eind datumtijd] .. (VBA,between)

Status
Niet open voor verdere reacties.

hassing

Gebruiker
Lid geworden
25 sep 2007
Berichten
43
Beste helpmij gebruikers.

Ik heb vraag over het volgende ..

Zit met een Access opdracht om voorstellingen in een theater in te plannen.
Een tweede voorstelling mag niet binnen het tijdsbestek vallen van een andere reeds bestaande voorstelling in die betreffende zaal.

De velden die ik hiervoor heb:
Voorstelling:begindatumtijd:einddatumtijd:zaal

Ik moet waarschijnlijk een VBA event opzetten bij het selecteren van het laatste veld „zaal“.
Plan ik iets in, waar al een andere voorstelling gaande is, moet er een msgbox getoond worden : „deze zaal is bezet“.

Hebben jullie een idee hoe ik de bezette tijd kan bewaken, in de betreffende zaal op datum x.

Mij is het nog niet gelukt.


Mvg

bart
 
Heb ooit eens iets gevonden op een ander forum. Misschien kan dit je op weg helpen. Het is dus niet van mee.

mvg
Charles
 

Bijlagen

Laatst bewerkt:
Heb ooit eens iets gevonden op een ander forum. Misschien kan dit je op weg helpen. Het is dus niet van mee.

mvg
Charles


hier kan ik helaas weinig mee. Wel een leuke optie om op de lijn dmv kleuren reserveringen te maken.
voor mij is dit eigenlijk te complex.

Ik wil alleen weten hoe ik de VBA moet opbouwen om mijn invoer te laten checken op de reeds bestaande records.
Hij mag geen record toevoegen indien de begin of eindtijd tussen 1 van de aanwezige records staat.

iemand een idee voor een VBA oplossing? Of een query oplossing?

voorbeeld:
voorstelllingsnr | begindatum tijd | einddatumtijd | zaal |
667 | 01-01-2008 20:00 | 01-01-2008 22:00 | grote zaal |

mag nog wanneer zaal niet is ingevuld ...
888 | 01-01-2008 21:00 | 01-01-2008 23:00 |

mag niet!!
888 | 01-01-2008 21:00 | 01-01-2008 23:00 | grote zaal |
"msgbox: er overlappen twee uitvoeringen, pas tijd of zaal aan "

bedankt
 
Laatst bewerkt:
Ik zou zeggen: laat alle van toepassing zijnde controls met een _afterupdate/_click de routine CheckValidData() oproepen, en dan:

Code:
'voorstelllingsnr | begindatum tijd | einddatumtijd | zaal |
'667 | 01-01-2008 20:00 | 01-01-2008 22:00 | grote zaal |
'mag nog wanneer zaal niet is ingevuld ... 
'888 | 01-01-2008 21:00 | 01-01-2008 23:00 | 
'mag niet!!
'888 | 01-01-2008 21:00 | 01-01-2008 23:00 | grote zaal |
'msgbox: er overlappen twee uitvoeringen, pas tijd of zaal aan

Private Sub CheckValidData() 
  dim rst as DAO.Recordset
  dim strSQL as String

  'als er een overlap is dan is het niet goed
  strSQL = "SELECT voorstellingsnr FROM TBL_Voorstellingen " & _
     "WHERE )begindatumtijd BETWEEN #" & me.dtBegin & _
      "# AND #" & me.dtEind & "# "  & _
     "OR einddatumtijd BETWEEN #" & me.dtBegin & _
      "# AND #" & me.dtEind & "#  ) AND zaal='" & me.cmbZaal & "'"

   'je moet bovenstaande wel even nalezen en verifieren, heb geen editor gebruikt
   set rst=currentdb.openrecordset(strsql)
   if rst.recordcount <> 0 then
      'match gevonden, dus er is een overlap
      msgbox "er overlappen twee uitvoeringen, pas tijd of zaal aan"
   end if
   rst.close
   set rst=nothing

   'er wordt hier dus GEEN data opgeslagen, alleen controle op overlap
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan