Formulier op jaar openen

benikke

Gebruiker
Lid geworden
9 apr 2023
Berichten
24
Hallo allemaal.



Veel kennis van access heb ik niet.

Bijgevoegd een zip bestand.

Mijn vraag is: (want ik heb geen flauw benul)

Hoe een formulier op het juiste jaar te openen in access.

Met [Jaar] kan ik vooruit/achteruit (knop record vooruit/achteruit)

Dus daarmee kon ik me behelpen.

Graag dat die knoppen blijven werken.



Alvast bedankt om mee te denken
 

Bijlagen

Je zou de code achter die knoppen eerst eens moeten bekijken, want die bevatten het antwoord op je vraag. Het feit dat je wél in staat bent om knoppen te maken die filteren op jaar (geen standaard knoppen volgens mij), maar niet snapt hoe die werken verbaast mij dan wel weer een beetje.

Maar het idee is dus simpel, als je de code van de knoppen snapt. Ik heb je db niet gezien, en weet niet of ik daar vandaag tijd voor heb, maar zelf maak ik altijd knoppen op een hoofdformulier waarmee ik de gewenste formulieren open. In de code achter zo'n formulier kun je namelijk een filter zetten. In jouw geval is dat een filter dat het bewuste formulier opent met de records van 'het juiste jaar' zoals je dat zelf noemt.
Wat het 'juiste jaar' is zeg je niet, en de database kan dat uiteraard ook niet weten. Ik vermoed het huidige jaar. Het filter waarmee je het formulier opent zou dan iets moeten zijn als:
Code:
Year([Datumveld])= & Year(Date)
Dit kan je natuurlijk niet letterlijk overnemen; je moet je eigen veld gebruiken. Nogmaals: als je met code een formulier opent, heb je een aantal parameters die je mee kan geven. Eén daarvan is dus Filter, en daarin zet je de formule die het jaartal uit een datum filtert.
 
Ik heb even naar je database gekeken, zoals je gevraagd had in je PM. En het juiste filter in het formulier gezet, zodat hij met de juiste record(s) opent.
Daarnaast heb ik de berekening in de query verbeterd, want daar zat een fout in. Om hem te testen heb ik een record in de tabel aangepast, zodat de tweede resultaatwaarde ook zichtbaar is in de query. Ik stop de db weer bij dit bericht :).

Overigens snap ik niet zoveel van de opzet van je tabel; bijvoorbeeld het nut van het veld [Jaar]. Als het om abonnementen gaat, lijkt mij het jaar van afsluiten bepalend voor het resultaat in het veld Jaar, dus waarom een extra veld? Lijkt mij nergens voor nodig.
En als het gaat om (door)lopende contracten voor cliënten, dan zou ik de contracten alleen een einddatum geven als het contract is/wordt beëindigd. Een cliënt die in 2023 een contract afsluit, heeft dan dus alleen een begindatum en geen einddatum. Dat vul je pas in als het contract wordt opgezegd.

In je query kun je dan simpel overzien wie een (lopend) contract hebben/hadden in een willekeurig jaar door één van de drie opties: ofwel als je filtert op 2024 en de cliënt heeft nog steeds een contract, dan is er geen einddatum ingevuld. Optie 2: de cliënt heeft in 2025 opgezegd, en je hebt dus een einddatum ingevuld. Dan is het jaar van die opzegging groter dan 2024, en zit de cliënt nog steeds in het overzicht van 2024. Heeft de cliënt in 2024 opgezegd, dan zit hij/zij uiteraard ook in het overzicht van 2024. Kan niet misgaan zo :).
 

Bijlagen

@benikke
Wat ik ook niet begrijp is het formulier. In de eerste kolommen zie ik velden die aan de recordbron gekoppeld zijn. Dat snap ik. Maar verder zie ik alleen maar "bijschriften". Als het je idee is om een doorlopend formulier te maken dat van links naar rechts loopt in plaats van van boven naar beneden, dan ben ik benieuwd hoe je denkt dat voor elkaar te krijgen.
Ik reageer maar gewoon in het forum zodat iedereen mee kan meelezen. Zo zijn forums tenslotte bedoeld. Maar dat zal de voorgaande spreker ook wel uitgelegd hebben ;)
 
. Maar dat zal de voorgaande spreker ook wel uitgelegd hebben ;)
Dat niet, maar daarom heb ik de oplossing en de db ook hier gepost, en niet gemaild :). Ik vermoed dat het formulier slechts een deel van de database is, dus ik heb me verder niet druk gemaakt over rest van het formulier. We zijn hier tenslotte om specifieke vragen op te lossen, en dat heb ik gedaan.
En dan wil ik nog wel tips geven die indirect met het probleem (en de oorzaak) te maken hebben.

Verder zou ik zeggen: als TS nog meer vragen heeft, dan raad ik hem aan om daarover nieuwe vragen te stellen, zodat die andere problemen teruggevonden kunnen worden met de zoekfunctie. Ik los liever geen (door ons geconstateerde) andere problemen op die niets met de oorspronkelijke vraag te maken hebben.
 
Om te beginnen bedankt.



Jammer, dat ik vergat te vermelden (soms denk ik dat ik dat deed maar dan is dat niet zo) dat de voor- en achteruit knoppen moesten blijven werken, dat was toch wenselijk geweest.

Maar dat mag ook worden opgelost met een keuzelijst met invoervak en dan hoeven die knoppen niet meer. In tabellen maakte ik zo een lijst aan.

Dan nog iets, ‘in query’ is in record ‘4’ ook 2025 ingevuld terwijl dat 2026 hoort te zijn.

Was dat mogelijk een test.

En waar vind ik de formuliercode terug, (Ook in hulpmiddelen voor databases>>>Visual basic gezocht.)



Dat ik dingen doe die voor jullie ‘onzin’ zijn, komt omdat ik access niet beheer/ken

Zoals jullie, daarom kom ik bij jullie om hulp.
 

Bijlagen

Dan nog iets, ‘in query’ is in record ‘4’ ook 2025 ingevuld terwijl dat 2026 hoort te zijn.
Laten we hier mee beginnen, de makkelijkste vraag. Ik heb, vanwege het testen, één record qua gegevens aangepast, dus ook het jaar. Liever had ik dat veld [Jaar] er uitgehaald, want zoals ik al schreef: het is totaal overbodig. Jaartallen haal je uit een datum, ga je dus niet apart invoeren. Punt. Doe dat dan ook niet :).

Je eerste opmerking is echter nóg simpeler: die werken gewoon nog. Ik heb daar niets aan veranderd.

Nog zo'n makkelijke vraag, die over de formuliercode: die is er niet. Geen code gebruikt, dus is die code ook niet te vinden. Ik gaf in een eerder antwoord aan dat je dit specifieke formulier zou moeten openen vanuit een hoofdformulier met een filter. Dat hoofdformulier is er niet, dus ik heb het filter gelijk in jouw formulier gezet. Je vindt het dan ook in de Eigenschappen van het formulier, bij de eigenschap Filter.

De reden dat je knoppen niet lijken te werken is simpel: elk jaar heeft bij jou maar één record. Als je dus een filter op een jaar zet (wat nu is gebeurd) dan zit er maar één record in het formulier. Probeer maar eens te bladeren als er maar 1 record is: dat lukt niet. Je komt altijd bij hetzelfde record uit.

Wellicht helpt het als je eerst eens uitlegt wat nu de bedoeling is. Want ik ben denk ik niet de enige die er geen bal van snapt :).
 
Terug
Bovenaan Onderaan