invoer toepassen op volgend formulier

Status
Niet open voor verdere reacties.

gotcha123

Gebruiker
Lid geworden
12 apr 2008
Berichten
86
Hallo iedereen,

het is een tijdje geleden dat ik hier nog geweest ben en met Access gewerkt hebt, vandaar dat mijn kennis ook een beetje roestig geworden is...
ik ben een database aan het ontwikkelen, waarin ik op basis van de invoer in het startformulier een filter wil toepassen op het volgend formulier.

vb. In het startscherm kunnen de gebruikers 2 opties ingeven, nl. keuze van het schooljaar en keuze van de federatie.
Daarna kunnen ze klikken op doorgaan om naar het volgende formulier te gaan.
Op basis van die keuze wil ik in het volgende formulier een filter toegepast hebben waarin ik een label(?) heb met de keuze van de federatie en een label(?) met de keuze van het schooljaar.
Hoe kan ik dit het best aanpakken?


Iemand die mij kan helpen met dit probleem?

Alvast bedankt!
 
Wil je het volgende formulier filteren op basis van schooljaar en federatie, of labels op het formulier aanpassen met de volledige recordset, of de labels op het formulier aanpassen met de gekozen waarden en het formulier filteren op basis van de keuzelijsten? Ik vermoed de laatste variant, al zou ik daar geen gif op in willen nemen...
 
ik zou labels op het volgende formulier willen, met daarbij ook nog de gegevens die voor die federaties en schooljaar erin zitten, zodat ze daarna kunnen aangepast worden of gebruikt worden om toegepast te worden in de rest van de toepassing.
Bedoeling is sowieso dat de keuze die gemaakt wordt in het opstartscherm ook onthouden blijft gedurende de rest van de toepassing (tenzij ze natuurlijk terug naar het startscherm terug gaan en een andere keuze maken).
 
Dat zul je allemaal moeten programmeren, maar dat had je waarschijnlijk al wel begrepen ;)
Ik zou in ieder geval met Public variabelen werken waarin je de gemaakte keuzes opslaat. Die kun je dan her en der aanroepen wanneer je ze nodig hebt. Doorgaans heb je in een keuzelijst ofwel een tabel als basis, ofwel een lijst met waarden. In het eerste geval sla je dan in de keuzelijst de ID waarden op van de tabel (meestal getallen) en in het tweede geval tekstwaarden. In het eerste geval zul je in de labels niet de ID's willen zien, maar een omschrijvingsveld. Je hebt dan twee variabelen per keuzelijst nodig; één voor de ID's waarmee je het tweede formulier filtert, en twee waarin je de omschrijving uit de keuzelijst haalt met de parameter Column (Me.cboFederatie.Column(1) bijvoorbeeld voor de omschrijving Federatie).
Bij het openen van het tweede formulier geef je dan een filter mee dat is gebaseerd op de keuzelijsten, en een OpenArgs variabele voor de labelomschrijvingen. Bij het openen van het formulier lees je dan de OpenArgs weer uit, en zet je die teksten in de labels.

Als dit allemaal als abacadabra klinkt, dan kun je de vraag stellen of je dit wel zelf moet willen maken :)
 
het klinkt vrij logisch als je het zo zegt, maar niet zo logisch om het zomaar terug uit te voeren :-)
parameter Column heb ik vroeger ook al gebruikt, dus dat zou wel moeten lukken om dat terug uit te voeren...maar OpenArgs nog nooit gebruikt, dus vrees er een beetje voor...

en ja, ik zou het zelf willen maken...ben nogal koppig op dat vlak en wil het vooral ook leren door het toe te passen :-)
 
OpenArgs is relatief simpel: dat is een variabele die je 'meegeeft' bij het openen van een formulier. Het is het laatste argument in de commandoreeks die je gebruikt bij DoCmd.OpenForm. Als je in die opdracht komma's typt, kom je vanzelf bij OpenArg terecht. De waarde die je in de opdracht invult, kun je op het te openen formulier weer uitlezen en verwerken.
In beginsel (en daarom is hij simpel) kan OpenArgs één waarde bevatten om mee te geven, en er wordt dus ook één waarde op het geopende formulier uitgelezen. Probleem is natuurlijk dat je meer waarden mee wilt kunnen geven; in jou geval bijvoorbeeld heb je twee labels op te maken. Dat is dan nog steeds mogelijk, alleen moet je de OpenArgs dan vullen met de variabelen die je dan scheidt door een vast scheidingsteken. Dus iets als: 2012|"Anastacius college".
Op basis van het scheidingsteken kun je dan in het tweede formulier de OpenArgs weer splitsen met het SPLIT commando. Je vult dan een matrix variabele met de afzonderlijke argumenten. En die losse matrixwaarden kun je dan weer gebruiken om meer dan één label op te maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan