Probleem met data en uren.

Status
Niet open voor verdere reacties.

DEWCAP

Gebruiker
Lid geworden
14 dec 2006
Berichten
79
Hallo,

Ik heb in mijn DB een form met daarin 4 velden, nl:
BeginDatum, EindDatum
BeginUur, EindUur.

Nu wil ik ervoor zorgen dat:

1. BeginDatum=<EindDatum
2. BeginUur<EindUur

Dit kan ik zelf wel instellen maar soms stelt zich volgend probleem voor:
Als BeginDatum<EindDatum (bv BeginDatum 08/01/2008 EindDatum 09/04/2008) dan kan BeginUur>EindUur (bv BeginUur 13:00:00 EindUur 08:00:00)

Dit daarentegen, kan ik niet instellen.

Iemand die me kan helpen? Bedankt.

DEWCAP
 
Ik hoop dat je op zoek was naar code voor een _AfterUpdate even, en niet naar een query

Code:
dim bDateOk as boolean
bDateOk = false

If BeginDatum < Einddatum
   bDateOk = true
Elseif BeginDatum = Einddatum and BeginUur < EindUur
   bDateOk = true
End if
 
Bedankt voor het antwoord. Vraagje, waar plaats ik min msgbox waarin ik duidelijk maak wat de gebruiker verkeerd deed?
 
Bedankt voor het antwoord. Vraagje, waar plaats ik min msgbox waarin ik duidelijk maak wat de gebruiker verkeerd deed?

Code:
dim bDateOk as boolean
bDateOk = false

If BeginDatum < Einddatum
   bDateOk = true
Elseif BeginDatum = Einddatum and BeginUur < EindUur
   bDateOk = true
End if

if bDateOk then
   'save data
   'moet je zelf even bepalen wat er allemaal opgeslagen moet worden
else
   msgbox 'foutmelding
end if
 
Code:
if bDateOk then
   'save data
   'moet je zelf even bepalen wat er allemaal opgeslagen moet worden
else
   msgbox 'foutmelding
end if

moet dit niet zo zijn

Code:
if bDateOk[B]=TRUE [/B]then
   'save data
   'hier zou ik naar het volgende veld moeten gaan?
else
   msgbox 'foutmelding
end if


bedankt!
 
dat mag, maar een if condition evalueert altijd naar true
dus
Code:
if a=true then
end if              'is gelijk aan

if a then
end if

'en even zo

if a=false then
end if                    'is gelijk aan

if not a then
end if
 
dit is de code die ik gebruikt heb

Code:
dim bDateOk as boolean
bDateOk = false

If BeginDatum < Einddatum Then
   bDateOk = true
Elseif BeginDatum = Einddatum and BeginUur < EindUur Then
   bDateOk = true
Else
bDateOk= False

if bDateOk = False then
   msgbox Dit kan niet.
end if

deze code werkt. ik krijg de msgbox als BeginUur later is dan EindUur op dezelfde dag. MAAR ik kan nog steeds verder gaan en mijn record opslaan...
 
Je kunt een globale variabele bDataOk maken. Deze zet je op false in de Form_Load event. Als alle data goed staat dan zet je bDataOk op true.
Vervolgens kijk je in de BeforeInsert event of alle data ok is en sla je op.

Code:
Private Sub Form_BeforeInsert(Cancel As Integer)
   Cancel = iif(bDataOk,0,1)
End Sub

Ik werk zelf meestal met onafhankelijke forms & controls en schrijf dan de code in een routine SaveData() die door een knopje btnSave wordt aangeropen - btnSave is dan uiteraard alleen maar 'enabled' als alle data ok is.

Code:
Private Sub SaveData()
  dim rst as DAO.RecordSet
  set rst = currentdb.openrecordset("Select * from tblData")
  rst.addnew
  rst("Veld1") = me.txtVeld1
  rst("Veld2") = me.cmbVeld2
  rst.update
  rst.close
  set rst=nothing
End Sub

Vaak nog uitgebreid met een formveld ID, zodat wijzigen mogelijk is. Ik zet deze op -1 als het een nieuwe entry betreft, of anders de waarde uit de tabel

Code:
Private Sub SaveData()
  dim rst as DAO.RecordSet
  set rst = currentdb.openrecordset("Select * from tblData WHERE ID=" & lngID)
  if rst.recordcount=0 then
      rst.addnew 
  else
     rst.edit
  end if
  rst("Veld1") = me.txtVeld1
  rst("Veld2") = me.cmbVeld2
  rst.update
  rst.close
  set rst=nothing
End Sub
 
Hi Rene, het spijt me maar je laatste reply is bijna Chinees voor mij :)

Als mijn code nu op _FormClose plaats? En dan kijk hij of de voorwaarden voldaan. Zoja, sluit het form, zo nee, geef een boodschap en ga terug na EindUur?
 
Heb je database zojuist gekregen, zal er straks even naar kijken.
 
Dank je wel rene. Maar deze vraag gaat over een andere database :)
 
lol sorry, dat krijg je als je met te veel projecten bezig bent. Is je formulier afhankelijk of onafhankelijk, dwz hangt er een recordset aan het formulier?
 
Dag Rene,

Mijn formulier hangt inderdaad aan een tabel vast als je dit bedoeld?

DEWCAP
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan