Formulier met keuzes (2007)

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

RdS

Gebruiker
Lid geworden
15 feb 2007
Berichten
381
Goedendag,

Ik ben een beginnend access 2007 gebruiker en weet niet helemaal hoe ik hier uit moet komen.

In het bestand wil ik graag een Formulier maken.
Wanneer het formulier geopend wordt moet ik de keuze krijgen uit 1. Land 2. Maand

Vervolgens moet het formulier mij de resultaten uit de tabel tonen.


Stap 2: (als 1 werkt is al super) Tel het aantal keren dat een regel is afgegaan. Bekijk bijlage Landen test.rar
 
Iedereen is begonnen als beginner, dus het geeft niks als je een vraag een beetje te wollig maakt ;) Maar hier snap ik toch niet zoveel van:
Tel het aantal keren dat een regel is afgegaan
Wat de eerste vraag betreft: die is ook niet overdreven duidelijk, maar ik vermoed dat je het formulier baseert op een tabel, waar dus een land, en (hopelijk) een datumveld in zitten, waarbij je de datum wilt kunnen filteren op basis van maanden, en de landen uiteraard op een land. Heb je voor je landen een aparte landentabel gebruikt? Zo nee: doen! En heb je voor de maanden een tekstveld Maand gemaakt? (ik hoop dus van niet....)
 
Ik heb in mijn eerste bericht een bijlage gedaan met een Access bestand in een .rar

1 tabel met landcode + landnaam
1 tabel met landcode, regel die is afgegaan, datum (altijd alleen hele maanden)

Formulier moet krijgen:
Keuzebox van landnamen
Keuzebox van datum

Als 2e zou ik willen tellen hoe vaak een regel is afgegaan.
Bv, regel SEK gaat voor Belgie 3x af. Dan moet ik in het formulier zien SEk 3x
 
Kun je 'm ook als 2003 db opslaan? Ik heb (voorlopig) nog een stevige hekel aan 2007...
 
Ik heb (voorlopig) nog een stevige hekel aan 2007...

:shocked: ..... :eek:

Misschien een idee om deze versie over te slaan.

Nu weer On Topic. sorry
 
@bakk: 't is een simpele vraag, die met een 2003 voorbeeldje prima is te helpen. Maar als je 2007 vragen alleen voor 2007 gebruikers wilt houden, blijf ik er met alle plezier vanaf...
 
Ben benieuwd wanneer je werkgever je voor het blok gaat zetten, of heb je dat helemaal zelf in de hand?

Wij zijn volgend jaar aan de beurt. Alleen is nog niet duidelijk of het 2007 of 2010 gaat worden. De 1e berichte waren 2010. Heb me er nog niet teveel in verdiept, maar in 2010 schijnen een aantal problemen van 2007 te zijn opgelost. Tevens lijkt het me wel aantrekkelijk i.v.m. de mogelijkheden van Sharepoint.
 
Voorlopig is er bij ons nog geen sprake van upgraden naar welke versie dan ook, al wordt er wel gekeken naar Sharepoint. Ik zie ook weinig voordelen; de productiviteit/efficiency neemt niet of nauwelijks toe: softwarekosten daarentegen wel, en de tijd voor omscholing/bijscholing. Oftewel: de Solow paradox in optima forma...

Office 2010 zal best een aantal problemen van 2007 hebben opgelost, maar die hadden er uiteraard al helemaal niet in mogen zitten, want het gros ervan zat ook niet in 2003. En op idioterieën als berekende velden in een tabel zit toch ook niemand te wachten?
Neemt niet weg dat we er vast wel een keer aan moeten geloven...
Maar zullen we weer on topic gaan? ;)
 
Denk het wel :) Ik zal er straks naar kijken.
 
Ik kom tot zo iets...
Met een keuzelijst zoek je een land op, en met een extra actie in de code lees je het aantal records uit van het subformulier. Is dat wat je bedoelt?
 

Bijlagen

Ja, dit is in ieder geval een gedeelte van wat ik graag wilde.

Hoe heb je de landkeuze gemaakt? Dan ik het ook doen in het vervolg.


Ik wil ook nog graag er een 2de keuze aan toegevoegd hebben.
Niet alleen land, maar ook datum. (bv 2010-08-01 of 2010-09-01 )
 
Simpel, met de Wizard Opzoeklijst. De derde optie gebruiken: records filteren op basis van een waarde in de keuzelijst. De code vanaf Set rst is zelf toegevoegd. Dan heb ik het over dit stuk:

Code:
    Set rst = Me.Rules_Subform.Form.Recordset
    With rst
            Me.txtAantal = rst.RecordCount
    End With

Hiermee gebruik je een Recordset variabele (wordt bovenin gedeclareerd) waar je de geselecteerde records van het subformulier aan toewijst. Vervolgens gebruik je de RecordCount om de waarde op het tekstveld te zetten. Eigenlijk vrij simpel dus...
 
Dat eerste stuk is begrijpbaar voor mij..


maar
De code vanaf Set rst is zelf toegevoegd. Dan heb ik het over dit stuk:

Code:
Set rst = Me.Rules_Subform.Form.Recordset
With rst
Me.txtAantal = rst.RecordCount
End WithHiermee gebruik je een Recordset variabele (wordt bovenin gedeclareerd) waar je de geselecteerde records van het subformulier aan toewijst. Vervolgens gebruik je de RecordCount om de waarde op het tekstveld te zetten. Eigenlijk vrij simpel dus...

:eek:
 
Verbaast me niks dat je het tweede deel niet snapt; dat gaat gelijk een stuk dieper in op de materie. Jammer genoeg heb je dit soort technieken nodig om het resultaat op een simpele manier te maken. Je kunt nog proberen om op het subformulier een tekstveld te maken dat het aantal records telt op het subformulier, en op je hoofdformulier dan een tekstvak dat verwijst naar het tekstveld op het subformulier.
Maar als je die weg bewandelt, krijg je de formules zonder programmeren ook niet automatisch bijgewerkt, alleen bij het openen van het formulier. Dus dat is ook geen oplossing. Sommige vragen zijn eigenlijk alleen maar met VBA op te lossen; programmeren dus! En dat is eigenlijk ook wat Access zo'n mooi programma maakt: je kunt, als je je er in verdiept, fantastische dingen maken!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan