huidig jaar ingevuld

  • Onderwerp starter Onderwerp starter scw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

scw

Gebruiker
Lid geworden
5 jun 2009
Berichten
530
Goedemiddag,

In mijn formulier wil ik graag in een tekstvak het huidige jaar weergegeven hebben als YYYY, welke vervolgens ook weer wijzigbaar moet zijn. Dus voorbeeld:

Formulier opent, tekstvak waarde staat reeds ingevuld op 2009. Ik kan het vervolgens wijzigen naar 2008, 2007 etc. etc.

Dit lukt mij nu aardig: ik gebruik de volgende code:

Private Sub Form_Open(Cancel As Integer)
Me!Jaar = Year(Date)
End Sub

Dus bij het "formulier openen" event.

Dit werkt nu alleen maar bij een onafhankelijk tekstvak, maar zodra ik de besturingselementbron invul met de kolom van mijn tabel (jaar), dan geeft Access de melding: "kan geen waarde aan object toekennen".... en werkt het dus niet meer.

Is er toch nog op de één of andere manier de mogelijkheid om toch die waarde op te slaan in mijn tabel???

Hopelijk hebben jullie de wijsheid in pacht voor mij!

Alvast bedankt.:thumb:
 
standaardwaarde instellen

Je voegt het tekstvak Jaar toe (niet het onafhankelijk object).

Dan eigenschappen openen van Jaar.

Op 2e tabblad Gegevens -> bij standaardwaarde zet je neer:
Code:
=Year(Date())

Dit zou moeten werken.
 
Bedankt!!

Beste Greenery80,

Soms is de oplossing veel dichterbij dan je denkt.... zoals nu ook weer het geval is!!

Het werkt nu echt helemaal naar behoren (waarde wordt keurig opgeslagen)! Geweldig bedankt hoor!

Edit: NEEEEEEJJJJJJJ!!!!! Het werkt nog steeds niet:

Wanneer ik 2008 invul, dan verbetert Access na het verlaten van het tekstvak weer 2008 in 2009!!! ARRRGHHHH!!!!
Hij slaat hem wel goed op, maar dit is natuurlijk niet gebruiksvriendelijk!!!

Wat kan ik nog doen!?!?!??!?!!?
 
Laatst bewerkt:
Raar...

Ik heb er even aan gezeten maar ik kan niet reproduceren wat er fout gaat.
Als ik een formulier maak datum wijzig en ik verlaat veld, dan blijft de datum de ingevoerde datum.

Probeer deze code anders eens:

Code:
Private Sub Form_Open(Cancel As Integer)

 If IsNull(Me.Jaar) Then
    VarJaar = Year(Now())
    Me.Jaar.SetFocus
    Me.Jaar.Text = VarJaar
 End If

End Sub

Wordt alleen gerund bij formulier openen.
Zit check in of het veld echt leeg is.
Als je toevallig een gevulde record opent dan wordt deze anders overschreven.
 
Lek boven water...

Hey Greenery80,

Ik heb het lek boven water. In het begin deed ie het, toen ik het meteen na je post uitprobeerde toch inderdaad gewoon goed. Vervolgens had ik de tabvolgorde veranderd van het formulier (omdat het tekstvak niet meer ingevuld hoefde te worden als eerste). Na deze verandering: wanneer ik dan het jaar veranderde en vervolgens met een tab naar het volgende veld ging, veranderde de waarde weer naar =Year Now.

Nu heb ik hem dan toch maar weer als eerste ingesteld bij de tabvolgorde, omdat het dan wel werkt. Het enige is dat de gebruiker hier niet meer op zou hoeven te focussen (letterlijk), wanneer die niet als eerste is ingesteld.

Bedankt toch nogmaals voor je hulp! Het is in principe opgelost met jou hulp!
 
Laatst bewerkt:
Werking TAB-toets

Hebbes!!

Bij de eigenschappen van het formulier, tabblad "Overige" heb ik Werking TAB-toets op "Huidige record" ingesteld. Het resultaat hiermee is precies wat mijn doel was!

Nu verbetert Access het niet meer, omdat die in één record blijft tabben!

Oplossing volledig :thumb:
 
oplossing

Goed nieuws, kan ik rustig slapen. ;)

Vergeet niet de status op: "Vraag is opgelost" te selecteren hier rechtsonderin op deze pagina.
Tenzij je nog andere vragen hebt?!?

Mvg Greenery80
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan