tuning keuzevak afhankelijk van een tweede

Status
Niet open voor verdere reacties.

Phil56

Gebruiker
Lid geworden
29 jan 2013
Berichten
25
Hallo,

In navolging van mijn vorige vraag, wat goed werkt, nu een volgende vraag.

De keuzevak Waarde is afhankelijk van de keuzevak Land.
Op zich werkt dit wel maar heeft ook een nadeel.

Selecteer je nu een land bv. Nederland dan krijg je in de keuzevak Waarde alle waarden te zien die bij dat land horen
ook het formulier wordt met die gegevens gevuld, tot zover is alles goed.
Maar als ik nu op een andere waarde klik dan krijg ik niet de gegevens van die munt uit Nederland te zien maar van een ander land.

Hoe dit op te lossen.

Hoop dat deze wel is te openen.

Bekijk bijlage munten database ontwerp.rar

Mvg, Phi
 
Niemand die mij een zetje in de goede richting wil geven?
 
Ik kan vanavond pas kijken, omdat je geen 2003 versie hebt gepost. Geduld dus...
 
Hallo OctaFish, heb ook eindelijk ontdekt hoe deze database is op te slaan in versie 2003.
Nadat de vorige versie niet stabiel was, ben ik weer helemaal opnieuw begonnen met dit als resultaat.
Vandaar dat ik ook heel nieuwsgierig ben of de database nu wel op andere machines draait.

Hierbij de versie in 2002-2003 formaat.

Bekijk bijlage munten database ontwerp.rar

Gr. Phil
 
Dit is geen 2003 format, vrees ik. Dan zou hij de extensie .mdb moeten hebben.
 
Je probleem is simpel uitgelegd, maar lastig opgelost. Waar het op neer komt: je filtert bij elke keuzelijst maar op één waarde. En zodra je dat doet, gaat het fout met het oorspronkelijke filter. Voorbeeldje: de keuzelijst
[cboZoekopwaarde]. Die heeft als filter:
Code:
    Me.Filter = "[Waarde] = " & Nz(Me.cboZoekopwaarde], 0)
Daar zit geen filtering bij die op land filtert. Zodra je met meer dan één keuzelijst werkt, die ook nog eens onafhankelijk werken, kun je niet om een aparte functie heen die alle filters samenvoegt tot één filter. Een voorbeeldje daarvan zit in de bijlage.
 

Bijlagen

Arch.:shocked: dank je wel OctaFish, dit is weer heel wat anders dan de cursus. Ga het bestuderen en uitproberen, wie weet kom ik er uit.
Nogmaals mijn dank.

Gr. Phil
 
Deze techniek staat ook in de cursus :)
 
dat weet ik, en moet je nagaan die cursus is voor beginners. Heb het wel tig keren overgelezen en geprobeerd zonder succes. En dit voorbeeld is toch ietsjes anders :rolleyes:

Gr. Phil
 
De cursusaanduiding 'voor beginners' is eigenlijk niet helemaal correct meer. De eerste hoofdstukken wel overigens. Maar in een beginnerscursus horen typische basistechnieken, en ik houd mij daar niet altijd aan. Dus in de laatste aflevering heb ik de toevoeging 'voor beginners' maar geschrapt. Neemt niet weg dat er meerdere wegen naar een oplossing leiden, en deze oplossing (die niet door mij is bedacht) is er daar één van.
Als je overigens op basis van een gevonden techniek niet tot een goed resultaat komt, houdt niets je tegen om hier te vragen wat er aan mankeert :)
 
Dit is waar ik mee aan het stoeien ben.
Krijg nu wel de landen te zien maar geen waarde, kan dus ook geen waarde selecteren.

Code:
Private Sub cboZoekopLand_AfterUpdate()
    ' De records filteren die overeenkomen met het besturingselement Euroland, waarde
    
    Dim strSQL As String
     
    Me.Filter = "[Euroland] = '" & Me.cboZoekopland & "'"
    Me.FilterOn = True
    
    strSQL = "SELECT DISTINCT qryZoeken.Waarde, qryZoeken.Euroland FROM qryZoeken" _
      & "WHERE (qryZoeken.Euroland) = '" & Me.cboZoekopland & "'" _
      & "ORDER BY qryZoeken.Waarde;"
      
    Me.cboZoekopwaarde.RowSource = strSQL
    Me.cboZoekopwaarde.Requery
    Me.cboZoekopwaarde.SetFocus
    Me.cboZoekopwaarde.Dropdown 'Keuzelijst openen
End Sub

Gr. Phil
 
Hallo OctaFish,
Het zou mooi zijn als mijn bestand zo zou werken als jou voorbeeld bestand, maar die oplossing gaat boven mijn pet.
Is er ook een simpeler manier om het zo te laten werken.

Gr. Phil
 
Simpeler kan alleen als je de keuzelijsten nà elkaar laat kiezen, dus eerst Land, dan Waarde en zo verder. In dat geval kan je de verschillende filters wel hard aan elkaar programmeren. Wil je flexibel filteren, dan zit er niks anders op dan een dynamisch filter te maken. En dat kan niet veel simpeler dan de code uit de voorbeelden.
Wie mooi wil zijn moet lijden. :)
 
Nou lijden doe ik en inderdaad met lange IJ. Ga al tussen de aanhalingstekens naar bed en daar zie ik dan ook nog komma's etc voorbij vliegen :confused:
wordt er echt niet mooier op :)
Helaas kan ik niet met het voorbeeld spelen omdat het bestand "MSCAL.OCX versie 7.0" ontbreekt.
Bij (CHR) 34 geeft access al een foutmelding.

Gr.
Phil
 
MSCAL.OCX is de kalender control die in Access 2007/2010 niet meer wordt meegeleverd. Als je de control nog ergens hebt staan, kun je hem nog wel toevoegen. Anders moet je de verwijzingen naar de control verwijderen of uitzetten. In dat geval kun je het beste de db vanuit het VBA venster compileren (<Foutopsporing>, <db compileren>). Dan vind je heel snel de plekken waar die verwijzigen staan. En die kun je dan bijvoorbeeld omzetten naar commentaar door er een ' teken voor te zetten. Als de db correct is, zal het filter ook weer werken. De melding die je nu krijgt heeft namelijk niets met de functies te maken.
Je kunt het filterformulier ook naar je eigen db kopieëren, met uiteraard de onderliggende tabel. Dan zou hij ook moeten werken.
 
Hallo,
Inmiddels de laatste paar dagen druk doende geweest met het voorbeeld.
heb de code opgeschoond omdat er veel dingen instaan die (denk ik) voor mijn doel eind niet van toepassing zijn.
Het voorbeeld werkt met deze code nog steeds zeer goed.
Nu probeer ik deze code ook uit op mijn database alleen krijg ik een foutmelding "De instructie Select bevat een gereserveerd woord etc."
Wat doe ik nu fout?

Bekijk bijlage munten database ontwerp - kopie.zip

Gr. Phil
 
Kreeg een melding van Watchdog,
( U heeft op Helpmij.nl een vraag gesteld met als titel tuning keuzevak afhankelijk van een tweede.
Inmiddels zijn 14 dagen verstreken.
Wij verzoeken vriendelijk om de status aan te passen indien de vraag is opgelost, zodat de vraagstellers met hetzelfde probleem weten dat ze daar de oplossing kunnen vinden.)

Helaas is het probleem nog niet opgelost.
Iemand nog een idee van hoe en wat dit probleem is op te lossen?

Gr. Phil
 
Ga maar een slotje zetten op deze vraag. Ben er nog steeds niet uit hoe het voorbeeld van OctaFish is toe te passen in mijn database. Maar ik geloof dat dit nogal een moeilijk onderwerp is aangezien niemand mij een zetje in de goede richting kan geven. Vandaar een slot er op.
Gr. Phil
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan