Default value formulier

Status
Niet open voor verdere reacties.

ran

Gebruiker
Lid geworden
22 dec 2006
Berichten
58
Ik ben bezig met het bouwen vam een activiteitenregistratiesysteem. Hiervoor gebruik ik een formulier. Eerst moet de werknemer de maand en het weeknummer opgeven in een combobox. Daarna de gewerkte uren per activiteit. Naast de ingevoerde uren staan tekstvelden met de eerder ingevoerde maand en weeknummer. Deze moeten standaard zijn en in nieuwe records terugkomen. Dit heb ik gedaan door te verwijzen naar de comboboxen. Het is immers een formulier per werknemer per week. Deze nieuwe records worden automatisch aangemaakt. Dus hoe meer activiteiten per week hoe meer regels.

Het probleem is dat de “standaardwaarden”(weeknummer en maand ) alleen worden bijgewerkt in het record dat is aangeklikt en niet “standaard in elke regel”.Hoe kan ik dit oplossen? De functie default value werkt niet.
 
Heb je de weeknummers gekoppeld aan de maanden? Of kun je in de maandenlijst Maart selecteren, en als weeknummer 32 ingeven, en pikt de db dat dan ook?
 
Ik heb 1 tabel voor de weeknummers en de 1 tabel met maandag t/m vrijdag. Het 2e dus.
 
Laatst bewerkt:
Is dit een probleem?
Hoe kan ik het oplossen?
 
Flauwekul opmerking uiteraard ;) Maar ik hoop dat duidelijk is dat zo'n opzet niet echt goed werkt. Bovendien: waarom zou je maand en week apart laten kiezen? Als je de invuldatum weet, weet je zowel Maand(nummer) als weeknummer. En maak je die fout ook nooit. Ik weet niet of het nodig of handig is om de uren voor activiteit per dag bij te houden, maar als je dat doet, hoef je geen maand- en weeknummer meer te hebben. De datum is dan genoeg. Anders heb ik thuis nog wel een functie die op basis van een maand de bijbehorende weeknummers kan genereren. Zodat de tweede keuzelijst alleen toegestane weeknummers laat zien.
 
Ok bedankt, dat zou erg handig zijn:D

Weet je ook het antwoord op mijn oorspronkelijke vraag: hoe kan ik die combowaarden standaard maken in een tekstveld? Als je 2 aparte formulieren ging het wel maar kreeg je een aparte regel in de tabel.
 
Heb je die weeknummer/maand functie nog gevonden?

Groeten!
 
Ik ben er nog niet aan toegekomen. Maar dat ga ik nu wel even doen.
 
Ik heb de functie gemaakt, maar hij zit nogal ingewikkeld in elkaar, dus ik zal 'm in een voorbeeldje posten. Het toepassen van de functie doe je op het formulier dat standaard opent. Daarop vind je in de voettekst een keuzelijst die dynamisch de weeknummers opbouwt op basis van de huidige datum - 1 week. In de keuzelijst zie je maanden + weeknummers. Het gekozen weeknummer wordt vervolgens in het tekstvak er onder gezet. Zoals je in het ontwerpscherm kunt zien, is de Rijbron gekoppeld aan een Functie. Deze functie maakt op zijn beurt weer gebruik van andere functies die het weeknummer berekenen. Als je de functie wilt overzetten naar je eigen db kun je dan ook het beste de hele module importeren, want als je één deelfunctie vergeet, doet de lijst het niet meer. Ook moet je in het VBA venster een verwijzing naar Microsoft ADO 2.8 aanzetten (<Extra>, <Verwijzingen>)
 

Bijlagen

  • Werktijden.rar
    93,3 KB · Weergaven: 15
Nog even een aanvulling op je vraag: hoe kan ik maand en weeknummer als standaard instellen?
Voor een standaard maand kun je de volgende formule gebruiken bij het (tekst)veld Maand:
=Format(Date();"mmmm")
Dezelfde formule zou je ook kunnen gebruiken voor het (numerieke of tekst)veld Weeknummer:
=Format(Date();"ww")
De laatste berekening heeft echter een groot nadeel: de weeknummers kloppen niet... We zitten nu bijvoorbeeld in week 9, maar de formule geeft als uitkomst: week 10. De reden daarvan is dat de manier waarop je weeknummers berekent kan verschillen. Doorgaans wordt de eerste week van het jaar bepaald door de eerste week waarin 4 dagen zitten. Dit jaar begint week 1 dus op 3 januari. Vandaag zitten we dus in week 9. De format formule begint te rekenen vanaf 1 januari. Die teller staat nu dus op 10... Vandaar dat er meestal een externe functie gebruikt wordt om het weeknummer te bepalen. En extra functies kun je niet gebruiken bij een standaardwaarde op een tabel. Wel overigens op een formulier, dus er is wel te leven met het nadeel.
 
Hoi Michel,

Bedankt! Zal er naar kijken.

Groeten!
 
Er zit idd een fout in de weeknummer berekening, daar is op de verschillende fora al heel wat over geschreven.
Gebruik als formule,
MsgBox Format$(Date, "ww", vbMonday, vbFirstFourDays)
dan gaat het meestal goed.

Voor meer informatie en een eventuele oplossing zie:
http://support.microsoft.com/kb/200299
 
Om Harry zijn oplossing naar een tabel te vertalen:
=Format$(Date();"ww";2;2)
Deze formule zet je dan bij de regel Standaardwaarde
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan