Filter in formulier (in een opzoekveld van de tabel)

Status
Niet open voor verdere reacties.

FilipDw

Nieuwe gebruiker
Lid geworden
19 mrt 2021
Berichten
4
Hallo,

Ik ben nog niet zo lang bezig met access, maar probeer voor het werk iets in een accestoepassing te laten werken.

Nu stuit ik op het volgende probleem.

Tabel 1 = Namen personeel (2 velden van belang ID en Naam).

Tabel 2 = Dossier (hierin is er een veld BehandeldDoor, dewelke een opzoekveld is en gekoppeld is met tabel 1. In de tabelopmaak zet ik kolomwaarde van het eerste veld op 0, de tweede >0, zodat enkel de naam te zien is, de waarde die wordt opgeslagen is hier enkel de Id

In een nieuw formulier laat ik via gegevensblad weergave de volledige lijst zien. Hierop zijn enkele opdrachtknoppen aangebracht voor bepaalde selecties. (Bv Jaartal = 2020 -> Filter op veld jaartal en enkel deze van 2020 worden getoond), Afgewerkte Dossier (met einddatum <> IsNull()), ... Al deze filters werken perfect.

Nu probeer ik ook een filter te zetten op BehandeldDoor om alle dossiers van 1 persoon te zien en hierin slaag ik niet. ik heb een invoervak, dewelke een keuzelijst is (op basis van tabel 1) en dan een opdrachtknop waarin ik de filter defineer (me.filter = "BehandeldDoor = opdrachtknop.value) gevolgd door Me.FilterOn = true .... en dit lukt mij totaal niet.


Wat doe ik verkeerd ? (en is dit mogelijk ...)

Iemand tips om mij op weg te helpen ...

Grtz,
FIlip
 
Tabel 2 = Dossier (hierin is er een veld BehandeldDoor, dewelke een opzoekveld is en gekoppeld is met tabel 1.
Dit is een bijzonder slecht idee; gebruik nooit( ik herhaal: NOOIT) keuzelijsten op basis van tabellen in een andere tabel. In een tabel wil je altijd kunnen zien wat er feitelijk aan waarden is opgeslagen, en dat is nu dus niet meer het geval. Normaal gesproken is BehandeldDoor een numeriek veld, dat in je relaties met een één-op-veel relatie is gekoppeld aan Personeel. Dat is genoeg; op je formulieren gebruik je dan vervolgens keuzelijsten met opzoekvak om de juiste behandelaars toe te wijzen.

Dat je een aparte knop gebruikt om te filteren vind ik wonderlijk, want je moet dus éérst een behandelaar kiezen uit de keuzelijst, dus waarom het filter niet gelijk aan de keuzelijst gehangen? Is sneller en scheelt een knop. Gebruik dan de gebeurtenis <Bij Klikken> en je hebt de beste oplossing te pakken.

Waarom je filter niet werkt? Als ik je 'code' zie, snap ik dat wel, als dat tenminste de letterlijke code is. Die gaat namelijk zo nooit werken, een Opdrachtknop heeft namelijk geen value. Op zijn minst zou ik dit verwachten als code onder de keuzelijst:
Code:
Private Sub cboPersoneel_Click()
     Me.Filter = "BehandeldDoor = " & Me.cboPersoneel.Value
     Me.FilterOn = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan