Planning tool in access

Status
Niet open voor verdere reacties.

BromsnorII

Gebruiker
Lid geworden
27 sep 2006
Berichten
94
Hallo,

Ik wil een planning tool maken in Access. Inmiddels heb ik een formulier gemaakt met knoppen die de dagen moeten voorstellen. Als er dan op een knop wordt gedrukt wordt er een apart formulier geopend met velden ten behoeve van de planning. Het eerste probleem is de knoppen. Als het formulier wordt geopend moet automatisch de knoppen de tekst krijgen die overeen komen met de dagen. Bij het openen van het formulier moet VBA de eerst dag van het jaar berekenen. Bijvoorbeeld; weekday(dateserial(textbox.value;1;1)). Voor 2011 wordt dit dan 7.
De eerste dag van 2011 is dus een 7 (zaterdag). Nu wordt het moeilijk, want hoe krijg ik VBA zover dat hij knop voor knop de datums invult?
Het tweede probleem is; Bij het drukken op een knop (dus een datum) moet het eerste veld in het formulier dat dan wordt geopend automatisch de datum krijgen overeenkomstig de ingedrukte knop.
Is er iemand die mij kan vertellen hoe ik eerste aanzet maak? Of misschien een verwijzing naar een boek (in het Nederlands) waar VBA voor access wordt uitgelegd?

Groet,
Sietse
 
Ik heb geen flauw idee wat je aan het doen bent, maar het lijkt mij gruwelijk omslachtig... Waarom niet één formulier om je planning in te vullen, met datumvelden? Lijkt mij een stuk simpeler.... Een project (want daar zal het wel voor bedoeld zijn) bestaat uiteraard uit meerdere activiteiten, die op verschillende dagen worden afgewerkt. Als je de db goed normaliseert, kun je dat met een Hoofd- en een subformulier probleemloos maken, zonder dit soort toeters en bellen.
 
Hallo Michel,

In ieder geval bedankt voor je snelle reactie. De bedoeling is het volgende. Ik wil een jaaroverzicht hebben. De planning heeft betrekking op hardlopen. Elke dag wordt aagegeven wat iemand moet doen. Bijvoorbeeld rust of een 10 km duurloop o.i.d. Door de knoppen een kleur te geven kun je een overzcht krijgen hoe zijn of haar planning eruit ziet. De knoppen kunnen overigens ook iets anders zijn als het maar met een klik event kan werken.

Er moet in een dergelijk planning nog veel meer gebeuren zo mag de week belast niet een vooraf ingesteld percentage overschrijden. Maar dat is van latere zorg. In eerste instantie zou ik willen weten hoe ik die knoppen of andere objecten automatisch text kan laten invullen via VBA.

Ik realiseer me de complexiteit, maar wil het wel erg graag voor elkaar krijgen.

Groet,
Sietse
 
Vanwege die complexiteit is het veel handiger als je eerst een voorbeeldje post; dan kunnen we een stuk gerichter meedenken.
 
Dat ga ik doen, de database die ik al had voorbereidt blijkt niet goed te werken, ik krijg het niet meer geopend. Ik maak een nieuwe voorzien van commentaar en stuur het jullie toe. In ieder geval al heel erg bedankt voor de moeite.

Groet,
Sietse
 
Hallo,

Ik heb het een en ander inmiddels voor elkaar gekregen door domweg veel te proberen. Een formulier wordt geopend en een kalander wordt daarop aangemaakt. De knoppen in het formulier stellen de dagen in de kalender voor. Als er op een knop (dus dag) wordt geklikt wordt er een ander formulier geopend. Dit formulier kan een verschillende layout hebben. Waar ik nu tegenaan loop is; Hoe kan ik met VBA detecteren welke knop is ingedrukt? Als ik dit voor elkaar heb, is het project geslaagd.

Groet,
Sietse
 
Het klinkt allemaal een beetje omslachtig; ik vermoed dat je in een van de nieuwere versies werkt, en daar zit een prima Datepicker in als je een datumveld koppelt aan je formulierveld. Dus waarom een eigen formulier ontwikkeld? (Ik heb het zelf ook gedaan, maar dat is voor A2k3, dus dan moet je wel...)
En dan het tweede deel van je vraag: je gebruikt één formulier met verschillende layouts? En op basis waarvan bepaal je dan welke layout je nodig hebt? Want dat is natuurlijk de kern van de vraag: je wilt niet weten welke knop je indrukt, maar welke dag van de week het is. En op basis daarvan je tweede formulier instellen?
 
De datapicker is een heel goed middel om data in te voeren. Deels doe ik dit ter lering en vermaak. Deels omdat ik een met een jaarkalender een overzicht krijg. Als er op een bepaalde datum al iets gepland staat veranderd de kleur van de knop (dit moet ik althans nog allemaal programmeren). Ik gebruik 2 formulieren een voor de kalander en de ander voor de data. Met een DoCmd "Form" kan ik het formulier openen. Om het een en ander verder te ontwikkelen moet ik dus weten op welke button is gedruk in het Kalender formulier. Ik werk in Access 2010

Dank voor het meedenken.
 
In dat geval is het misschien wel handig als je een voorbeeldje post met wat je tot nu toe hebt; we kunnen dan veel gerichter meedenken.
 
Een RAR bestand planning is bijgevoegd. Als het formulierplanner wordt geopend kan momenteel alleen 20 februari 2011 worden aangeklikt. Voor de andere knoppen is nog geen knikevent geschreven.
De bedoeling is dat wanneer er op een datum wordt geklikt het formulier Memo wordt geopend. Tot zovel lukt dit. Als het formulier wordt geopend moet automatisch in het daum veld de datum worden weggeschreven overeenkomstig de knop welke is ingdrukt. Ook moet het datum veld dan niet gewijzigd kunnen worden.

Een mogelijke oplossing:
In de code bij het klik event opnemen een datum variabele welke dan ook uit te lezen is als het Memo formulier wordt geopend. Nu weet ik nog niet hoe ik dit moet realiseren. De datum variabele kan gemaakt worden met DateSerial. In het kader hiervan denk ik dat een variabele moet worden gedeclareerd welke overal in het VBA kan worden opgeroepen. Ik weet echter nog niet hoe dit moet.

Mijn eerdere vraag hoe ik kan detecteren welke knop de focus heeft is niet meer relevant want op het moment dat het Memo formulier wordt geopend heeft deze de focus en er kan maar een de focus hebben, heb ik begrepen uit een foutmelding.

Ik zie jullie op en aanmerkingen graag tegemoet,
Groet,
Siete KeunBekijk bijlage Planning1.rar
 
Hallo,

Omdat ik onervaren ben op het gebied van VBA heb ik het kader van de bovenstaande vraag, nog een vraag. Ik denk dat ik een stuk op weg ben met de oplossing van de vraag als ik weet hoe ik een algemeen toegankelijke variabele kan declareren die dan in het gehele project te gebruiken is. Ik weet niet hoe ik dat moet doen. Alle probeersels n.a.v. de help optie werken helaas niet. Iemand misschien een hint?

Groet,
Sietse
 
Da's simpel: voeg een nieuwe module toe, als je nog geen modules hebt, of pak een bestaande. Zet daarin bovenin, dus in het algemene Declaratiegedeelte je variabele. Bijvoorbeeld:

Code:
Public dt_Datum as date

De variabele kun je nu vanaf elke plek in je db vullen en opvragen.
 
Heee bedankt, het manko zat 'm in de module. Nu ik 'm daar in heb gedeclareerd werkt het!!

Nu nog een routine om te kijken of de geselecteerde datum al bestaat. Dit wil ik eerst zelf proberen uit te zoeken. Mocht het niet lukken wil graag weer van jullie expertise gebruik maken

Dank,
Sietse
 
Planningtool in access

Sietse,

Zeer interessant om deze probleemstelling te bestuderen. Zou het mogelijk zijn om het finale resultaat (module) ook te tonen?

Met dank,

Risk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan