Op zoek naar gepaste expressie

Status
Niet open voor verdere reacties.

tclaesse

Gebruiker
Lid geworden
8 jan 2004
Berichten
240
Mijn probleem is hetvolgende :

M'n database maakt ondermeer gebruik van de velden 'Datum binnenkomst' en 'Type'.
De bedoeling is dat ik bij 'type' in m'n tekstvak ofwel rekening, ofwel budget invul (via invoervak met keuzelijst)

Nu wil ik bijvoorbeeld een nieuw tekstvak maken met de naam 'Deadline' en hierin een gepaste expressie invullen, namelijk :

Bij het invullen van rekening in het veld 'type' zou de 'Deadline' automatisch 300 dagen later moeten zijn dan 'datum binnenkomst'
Wanneer ik budget intyp in het veld 'type' zou de 'Deadline' daarentegen slechts 50 dagen later mogen zijn.

Welke expressie kan ik hiervoor het best gebruiken?
 
Eerst een paar tips.

Maak van je tekstvak een keuzelijst.
Stel het rijbron type in op Waardelijst.
Vul als rijbron je mogeloijke waarden in; "Rekening";"Buget"
Of maak een extra tabel waar je je types in zet.
Je keuzelijst baseer je dan op die tabel.

Noem je keuzelijst (wat nu een tekstvak is) niet Type.
Type is een gereserveerd woord binnen MS Access, gebruik van gereserveerde woorden kan tot onverwacht gedrag leiden.
Noem je keuzelijst lstType (lst = lijst).
Binnen MS Access is het een aan te bevelen goede gewoonte om controls (tekstvakken, keuzelijsten, knoppen) binnen formulieren en rapporten een prefix te geven.
Bijvoorbeeld txt voor tekstvelden, lst voor lkeuzelijsten, cmd voor knoppen.

Nu je vraag.
Nogmaals, maak eerst van je tekstvak een keuzelijst (waarden Rekening en Budget).
Definieer een Na Bijwerken gebeurtenis voor je keuzelijst.
Zet daar deze code in (Private Sub en End Sub regel staan er al als je de gebeurtenis definieert):

Code:
Private Sub lstType_AfterUpdate()

Select Case Me.lstType
Case "Rekening"
Me.Deadline = Me.Binnenkomst + 300
Case "Budget"
Me.Deadline = Me.Binnenkomst + 50
End Select

End Sub

Tardis
 
Alvast bedankt! Moest ik nu nog een gebeurtenisprocedure instellen op een ander veld, hoe pak ik dit dan aan? Ik heb gemerkt dat de vorige procedure hierdoor weg was? Stel ik misschien iets anders dan 'after update' in?
 
Pak je op dezelfde manier aan.
Access kent verschillende soorten gebeurtenissen, welke je gebruikt is afhankelijk van wat je wil.
In Access Help staan alle gebeurtenissen beschreven.

En inderdaad moet je de code die je zelf had toegevoegd verwijderen.

Tardis
 
Wil dit dan zeggen dat, wanneer ik de code die u gisteren meegaf verwijder, ik dus geen deadline in m'n database meer kan zien?
 
Dat zeg ik niet.....
Ik zeg dat je de code die jij in je databsse had gezet (jouw poging) moet verwijderen.

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan