Datum uit tekstvak + 30 dagen.

Status
Niet open voor verdere reacties.

Kramer

Gebruiker
Lid geworden
12 jun 2002
Berichten
447
Dit word een echt o ja vraagje :o

Ik heb een tekstvak (txtOffertedatum) in mijn userform daar komt standaard via onderstaande code de huidige datum in.

Nu heb ik nog een tekstvak (txtOfferte_geldig) en daar moet hij naar aanleiding van de ene tekstvak er 30 dagen bij tellen.

Code:
Private Sub Userform_Activate()
'hier worden de standaard gevens voor het userform geregeld.

'Dit zorgt ervoor dat de datum altijd in het userform als 26 augustus 2013 word weer gegeven.
txtOffertedatum = Format(Date, "d mmmm yyyy")

'Dit zorgt ervoor dat de datum bij Offerte geldig 30 dagen na de huidige dag wordt
'weer gegeven
txtOfferte_geldig = Format(Now() + 30, "d mmmm yyyy")
End Sub

Dit werkt op zich wel. Maar als ze de datum aanpassen in de het tekstvak txtoffertedatum, wordt de datum in het tekstvak txtOfferte_geldig niet bij gewerkt.

Iemand een idee hoe ik dit kan aanpassen.
 
Zet de controle op het _exit event van txtoffertedatum.
 
Waarom je voor het ene tekstvak Date() gebruikt (correct in mijn ogen) en in het tweede Now() vind ik vreemd. Tenzij je wilt dat de overschrijding van de betaaltermijn op de seconde nauwkeurig moet worden berekend...
En AfterUpdate mag natuurlijk ook gebruikt worden. Zou ik eerder voor gaan.
 
Laatst bewerkt:
@edmoor.
hier weet ik niets van dus ga even ernaar zoeken.

@Octafish.
Wanneer ze de datum in het ene tekstvak veranderen naar een dag later of eerder dan moet deze datum op worden geteld met 30 dagen. En zichtbaar worden in de het tweede tekstvak.

Heb zelf ook gekeken naar afterupdate maar daar heb ik helemaal geen kaas van gegeten.
 
Je bent wèl in staat om code te maken op de gebeurtenis Activate van het formulier, maar AfterUpdate of OnExit van een tekstvak kun je niet vinden? Da's vreemd... Verder onderschrijf je mijn redenering dat je de berekening met Date moet maken, en niet met Now.
 
Dat vond ik dus ook vreemd inderdaad en die Now zal inderdaad niet helpen.
Over welk Office product gaat dit eigenlijk?
 
Laatst bewerkt:
Ik heb nog nooit gewerkt met afterupdate of met Onexit.

Misschien heb ik het niet goed uitgelegd.

Het tekstvak met Date komt de datum van vandaag in te staan. Maar deze is aanpasbaar. Ik wil dus dat het tekstvak waar nu Now (wat inderdaad niet goed is) automatisch 30 dagen opteld met wat er in het andere tekstvak staat.

Als ik heb nu op het Userform oproep komt er in de Userform te staan als datum 30 augustus.

Bij de andere tekstvak staan nu (30 augustus + 30 dagen) 29 september.
Maar als ik de datum zelf aanpas naar 31 augustus blijft de datum van het bij het andere tekstvak op 29 september staan ipv 30 september.

Ik zoek dus naar een oplossing dat ook als pas je de eerste datum aan naar bijvoorbeeld 1 week eerder of later dat die datum + 30 dagen in het andere tijdvak komt te staan.
 
Code:
Private Sub txtOffertedatum_AfterUpdate()
    txtOfferte_geldig = Format(CDate(txtOffertedatum.Text) + 30, "d mmmm yyyy")
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan