gegevens ophalen in een formulier welke staan in een query

Status
Niet open voor verdere reacties.
Ok, nou zijn we op weg :). De bedoeling is, neem ik aan, dat je de keuzelijst BronID wilt gebruiken om te filteren?
 
Ja, dat is de bedoeling.
Vraagje: Heb ik het wat betreft de foto's in de database goed aangepakt?
 
Prima :). Ik heb je voorbeeldje aangepast, kijk maar of dit de bedoeling is.
 

Bijlagen

  • Test 2.zip
    171,3 KB · Weergaven: 35
dank je voor je reactie en bestanden.
Ik ga me erin verdiepen en ermee aan de slag. (alleen niet vandaag meer)
Ik laat je nog weten
 
Dit is wat bedoelde.
Ga nu zelf proberen om in een andere database deze aanpassing te doen.
Dank je voor je hulp
 
Graag gedaan. We zien een volgende vraag we verschijnen :).
 
Vraag met als basis het test 2 zip bestand (zie antwoord van octa fish 21-8-2021)

wat mij opvalt is het volgende.
Als ik de tabel bron openen zie ik daar 23 bron id's staan met in het volgende veld de bijbehorende beschrijving.
Als ik het raadpleegformulier open zie ik -bij BronId en filteren- minder mogelijkheden. Slecht 14 stuks.
Rara hoe krijg ik het voor elkaar zodat ik alle id's zie. Dus ook bv BronID 17 Templates van Lynne
Dit ook omdat ik de bron dan kan uitbreiden.
 
Ik zal er weer even naar kijken. Waarschijnlijk zit er een koppeling in de query met een Inner Join. Maar daar kun je dan niet zoveel aan doen vermoed ik, omdat je bij een andere variant niet meer kan invoeren. Maar ik kijk er vanavond wel even naar.
 
Dat is zelfs heel eenvoudig aan te geven; niet alle bronnen zijn gebruikt, dus die zie je niet in het formulier omdat dat alleen gekoppelde records laat zien. Probeer deze query maar eens:
Code:
SELECT Bron.BronID, Bron, Count(GemaaktID) AS AantalGemaakt FROM Bron LEFT JOIN Gemaakt ON Bron.BronID = Gemaakt.BronID GROUP BY Bron.BronID, Bron;
 
Bedankt voor je antwoord.
Noem het maar eenvoudig :D.
Ik snap van de formule helemaal niets. Heb hem wel gekopieerd en ingevoerd en het werkt. Dus het doel is bereikt.
Nu alleen nog de lijst sorteren van laag naar hoog en ik ben weer een stukje verder.
Hoewel. Waar kan ik uitleg vinden hoe de formule is opgebouwd zodat ik hem kan aanpassen als ik ook op andere velden willen filteren
 
filteren in formulier

Ik probeer nu zelf (als probeersel/ter lering en de vermaak)een werkend filterknop te maken in het bijgaande bestandje,
zodat deze hetzelfde werkt als de reeds aanwezige knop.
Helaas ik kom er niet uit.
Is er iemand die mij hiermee op weg kan/wil helpen.
Misschien d.m.v. een stap voor stap plan.

groet
Jacob
 

Bijlagen

  • Test.zip
    193 KB · Weergaven: 26
Wat wil je precies? Je hebt het over een filterknop, maar ik zie 'm nergens.
 
Wellicht het ik het niet duidelijk uitgelegd.
Wat de bedoeling is het volgende.

Op het raadpleegformulier staat in de formulierkoptekst een veld "Filteren"
Hiermee kan ik filteren op foto's gemaakt op basis van eigenwerk, lesjes enz.
Nu probeer ik te achterhalen hoe dit veld (i.p.v. knop) is opgebouwd.
Om dit ook in mijn andere database (boeken te kunnen invoeren)
Gezocht in het forum maar hier niet kunnen vinden.

Wat ik hiervoor geprobeerd heb zo'n zelfde knop te maken.

plan A
1) het formulier in de ontwerpweergave geopend.
2) het originele veld gekopieerd en geplakt in formulierkoptekst.
Dit werkt voor geen meter :(

plan B
1) het formulier in de ontwerpweergave geopend.
2) keuzelijst met invoervak gemaakt
3) in de wizard bovenste mogelijkheid gekozen (De waarden ophalen uit andere tabel)
4) de waarden voor later gebruik gekozen

De rijbron uit het originele veld gekopieerd en geplakt in het nieuwe veld.
Formulier opgeslagen
Maar helaas dit werkt ook niet.

Waar gaat het mis?

Gebruik ik het verkeerde veld.
Het werkende/originele bestandje en het probeer bestandje voeg ik bij
 

Bijlagen

  • Test.zip
    193 KB · Weergaven: 10
  • Test-probeeersel.zip
    318,8 KB · Weergaven: 11
plan A
1) het formulier in de ontwerpweergave geopend.
2) het originele veld gekopieerd en geplakt in formulierkoptekst.
Dit werkt voor geen meter :(

Dit zou toch enigszins moeten werken, met een paar kanttekeningen:
1. De Rijbron van de keuzelijst zul je moeten aanpassen. Die is nu: SELECT DISTINCT Bron.[BronId], Bron.[Bron] FROM Bron INNER JOIN Gemaakt ON Bron.BronID = Gemaakt.BronID ORDER BY Bron.[Bron];
Als je een andere tabel/query gebruikt, zul je die als rijbron moeten selecteren.
2. De keuzelijst heeft een Gebeurtenis (actie) die wordt uitgevoerd als je er op klikt. Ook díe zul je vermoedelijk aan moeten passen. De huidige code is:
Code:
Private Sub cboFilteren_Click()
    
    With Me
        If Not .cboFilteren.Value = "" Then
            .Filter = "[[COLOR=#ff0000]BronID[/COLOR]] = " & Me.cboFilteren.Value
            .FilterOn = True
        Else
            .Filter = ""
            .FilterOn = False
        End If
    End With
    Me.Repaint
End Sub

Hierbij wordt het formulier filter ingesteld op het formulierveld [BronID], en dat wordt gefilterd met de gekozen waarde uit de keuzelijst. Wellicht dat je de rode tekst dus moet aanpassen: .Filter = "[BronID] = " & Me.cboFilteren.Value
Met deze twee aanpassingen zou het moeten werken.

plan B
1) het formulier in de ontwerpweergave geopend.
2) keuzelijst met invoervak gemaakt
3) in de wizard bovenste mogelijkheid gekozen (De waarden ophalen uit andere tabel)
4) de waarden voor later gebruik gekozen

De rijbron uit het originele veld gekopieerd en geplakt in het nieuwe veld.
Formulier opgeslagen
Maar helaas dit werkt ook niet.
Waar gaat het mis?

Plan B gaat vermoedelijk verkeerd omdat je de oorspronkelijke query niet kunt gebruiken. Als je een nieuwe keuzelijst maakt, en daarbij de juiste gegevens hebt geselecteerd, dan moet het goed gaan met die gegevens. Mits je dus gegevens selecteert die overeenkomen met het veld waarop je filtert. Ook in plan B is stap 2 (aanpassen van de Filter regel in de code) nodig om het filter goed te laten werken.

Ik kijk nog wel even naar je nieuwe bestanden :).
 
Ik snap wel waarom het niet meer werkt: je hebt van je hoofdformulier een subformulier gemaakt. En dan werkt er inderdaad niks meer. Ik heb een lichte schurft aan navigatieformulieren :).
 
Bedankt voor de eerdere reacties.

Punt 1
Om te beginnen heb ik navigatieformulier verwijderd
De database opent nu met het raadpleegformulier. (hoofdformulier?) mocht dit een subformulier zijn hoe zet ik dit om in een hoofdformulier?

Punt 2
Ik snap er nog steeds niets van.
Hoe krijg ik mijn filterveld werkend? Ik probeer “het kopieveld -Filteren 02- op de zelfde manier te laten werken als “Filteren 01. Dit ter lering en de vermaak
Ben opnieuw begonnen met het maken van een filterveld op basis van en in de oorspronkelijke database Test2.zip
Met als verwachting nu twee filtervelden te hebben die hetzelfde doen.
Vraag 1 is dit een juiste verwachting

Heb in de voornoemde database een nieuw veld aangemaakt in de formulierkoptekst d.m.v.
besturingselement “Keuzelijst met invoervak”.
vraag 2) Is dit juist?

De gegevens uit Filteren 01 overgenomen in Filteren 02
Filteren 01:
Gegevens
Rijbron
SELECT DISTINCT Bron.[BronId], Bron.[Bron] FROM Bron INNER JOIN Gemaakt ON Bron.BronID = Gemaakt.BronID ORDER BY Bron.[Bron];
Gebeurtenis
Bij klikken
Gebeurtenisprocedure
Code:
Private Sub cboFilteren_Click()    
    With Me
        If Not .cboFilteren.Value = "" Then
            .Filter = "[BronID] = " & Me.cboFilteren.Value
            .FilterOn = True
        Else
            .Filter = ""
            .FilterOn = False
        End If
    End With
    Me.Repaint
End Sub

Filteren 02:
Gegevens
Rijbron
SELECT DISTINCT Bron.[BronId], Bron.[Bron] FROM Bron INNER JOIN Gemaakt ON Bron.BronID = Gemaakt.BronID ORDER BY Bron.[Bron];
Gebeurtenis
Bij klikken
Gebeurtenisprocedure
Code:
Private Sub Keuzelijst59_Click()
With Me
        If Not .cboFilteren.Value = "" Then
            .Filter = "[BronID] = " & Me.cboFilteren.Value
            .FilterOn = True
        Else
            .Filter = ""
            .FilterOn = False
        End If
    End With
    Me.Repaint
End Sub

Wat kan ik doen om de tweede filterknop ook werkend te krijgen?
Bijgaand de gezipte testdatabase.

Sorry. Het is wel heel veel tekst geworden.
 

Bijlagen

  • Test.zip
    162,6 KB · Weergaven: 8
Laatst bewerkt door een moderator:
Laten we de twee codes eens met elkaar vergelijken (deze keer netjes opgemaakt met de CODE tag, zoals het hoort :))


Code:
Private Sub cboFilteren_Click()
    With Me
        If Not .cboFilteren.Value = "" Then
            .Filter = "[BronID] = " & Me.cboFilteren.Value
            .FilterOn = True
        Else
            .Filter = ""
            .FilterOn = False
        End If
    End With
    Me.Repaint
End Sub
Deze code werkt goed. Dan deze, die je blijkbaar gekopieerd hebt:
Code:
Private Sub [COLOR=#ff0000][B]Keuzelijst59[/B][/COLOR]_Click()
    With Me
        If Not .cboFilteren.Value = "" Then
            .Filter = "[BronID] = " & [COLOR=#ff0000][B]Me.cboFilteren[/B][/COLOR].Value
            .FilterOn = True
        Else
            .Filter = ""
            .FilterOn = False
        End If
    End With
    Me.Repaint
End Sub

Ik heb de fout maar even gemarkeerd in rood, dan zie je het sneller. Je zet een code op een keuzelijst die verwijst naar een andere keuzelijst. Gaat dus niet werken. Dit is de juiste versie:

Code:
Private Sub [COLOR=#0000ff][B]Keuzelijst59[/B][/COLOR]_Click()
    With Me
        If Not .cboFilteren.Value = "" Then
            .Filter = "[BronID] = " & [COLOR=#0000ff][B]Me.Keuzelijst59[/B][/COLOR].Value
            .FilterOn = True
        Else
            .Filter = ""
            .FilterOn = False
        End If
    End With
    Me.Repaint
End Sub

Dus dit zou wél moeten werken.
 
Ik denk dat ik een volledige black-out heb. Of ik snap het gewoon niet.
Ik krijg de filter niet werkend.
Zou je er nog eens naar willen kijken wat ik fout doe.

Als bijlage doe ik de testbase erbij en een gezipt bestandje met wat foto's
Bij voorbaat dank voor de moeite.

PS: Ik zie dat je vraagt om de code tag bij code's. Is dat een van de tags in de opmaak balk? # of <> of php?
 

Bijlagen

  • Test.zip
    190,3 KB · Weergaven: 9
  • Ingezonden.zip
    1,1 MB · Weergaven: 8
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan