Access vbscript werkt niet

Status
Niet open voor verdere reacties.

johanw

Gebruiker
Lid geworden
3 mrt 2003
Berichten
74
Ik heb een vbscript geschreven voor een stukje uit een access database, waarschijnlijk helemaal verkeerd...

Private Sub Text239_Change()

If Text239 < 0 Then

Text239 = 0

End Sub

Het werkt niet.. misschien een domme fout, misschien moet het ook wel helemaal anders, ik heb er weinig verstand van.

Het veld moet dus veranderd worden in nul wanneer hij veranderd wordt in een waarde kleiner dan 0...
 
Dat werkt ook niet.

Is de syntax wel goed dan?

De inhoud van het veld wordt trouwens gehaald uit de opdracht aantal_besteld - aantal_geleverd .. Maakt dat misschien wat uit?
 
Dat maakt inderdaad uit!
Het is een berekend veld en die kun je niet op die manier een andere waarde toekennen.

Je kunt dit op twee manieren oplossen:
- Valideer de velden aantal_besteld en aantal_geleverd en geef een foutboodschap als het aantal_geleverd groter lijkt te worden als het aantal_besteld
- Verwijder de rowsource van Text239 en bereken het verschil bij het wijzigen van de velden aantal_besteld en aantal_geleverd .
 
Dus de bestaande rowsource verwijderen, dan code toevoegen dat hij

besteld - geleverd moet zijn mits besteld - geleverd !< 1


?

begrijp ik het goed?

kan iemand me opweg helpen met zo'n code?
 
Dit heb ik nu

Private Sub Text239_BeforeUpdate(Cancel As Integer)

If Aantal_Besteld - Geleverd_1 < 0 Then

Text239 = 0

Else

Text239 = Aantal_Besteld - Geleverd_1

End Sub


Het werkt niet. Het vakje blijft leeg, in ontwerp mode staat er ook unbound maar dat klopt wel denk ik.
 
volgens mij moet je na een "IF Then" ook een "END IF "zetten. en ik zie dat niet staan bij jou

gegroet
 
nene é

gewoon

IF then

blalbalb

ELse

blela

END IF


zo is het
 
Dit bedoel ik.. werkt dus niet



Private Sub Text239_BeforeUpdate(Cancel As Integer)

If Aantal_Besteld - Geleverd_1 < 0 Then

Text239 = 0

Else

Text239 = Aantal_Besteld - Geleverd_1

End If

End Sub
 
je Text239 is als ik het goedbegrepen heb een textvak ofzo é. om de in houd van dat text vak op te roepen moet je dan wel text239.value doen. ook als je er een waarde aan wil toewijzen altijd text239.value=iets
 
Gebruik de gebeurtenis procedure van Geleverd. Daarin zet je bijvoorbeeld:

Geleverd_beforeupdate(cancel as integer)

If aantal_besteld.value - Geleverd.value <= 0 then
text239.value=0
else
text239.value=aantal_besteld.value-Geleverd.value
end if

end sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan