Opzoeken via keuze lijst met invoervakken

huizemeul

Gebruiker
Lid geworden
17 mrt 2013
Berichten
128
Beste? Wie kan mij helpen. Ik heb twee filters de ene zoekt via NIET keuzelijsten en de andere MET keuzelijsten. Degene Zonder keuzelijsten werkt prima. Nu wil een andere laten zoeken met keuzelijsten. Hoe krijg ik dat voor elkaar. Heb database toegevoegd.
Wie wil en kan mij helpen dat wel voorelkaar te krijgen.
 

Bijlagen

Ik zie op geen van de formulieren keuzelijsten.
 
Sorry Verkeerd uitgelegd. Als je kijkt naar tabelllen 1 Financiën en 2 Financiën zit het verschil in de velden Categorie, Relastie en Type. Die zijn bij de een teksrvelden en bij de ander keuze lijst met invoervak. Daar heb ik Qury,s van gemaakt. Die zijn nodig om de filters 1 en 2 goed te laten werken. Filter 2 zoekt dus goed met namen. Bij filter 1 geeft hij geen namen maar nummers. Nou moet filter ook namen gaan geven. Hoe kan je dit veranderen. Er moet iets veanderen aan de geburtenis van Filter 1. Hoop beter ! Uigelegd
Bericht automatisch samengevoegd:

Sorry iets te snel getypt. Stikt van spelfouten
 
Om te beginnen is het geen goed idee om in tabellen "opzoekvelden" op te nemen zoals bijvoorbeeld het veld "Categorie" in de tabel "1 Financiën".
Ten eerste voer je normaliter nooit direct gegevens in in een tabel. Opzoekvelden zijn daarom in tabellen onnodig. Gegevens voer je in via formulieren en daar kan je ze onder de noemer keuzelijst-met-invoervak prima gebruiken.
Bovendien leiden ze in tabellen tot verwarring zoals bij jou ook het geval is. Feitelijk sla je in het veld "Categorie" in de tabel "1 Financiën" getallen op (de Id van de betreffende categorie). Dat zie je ook aan het veldtype van "Categorie", dat is numeriek. De kenmerken die je bij het veld "Categorie" onder het tabje "Opzoeken" invult zorgen ervoor dat je het nummer niet ziet, maar de bijbehorende tekst. In de tabel staat dus een 1 en je ziet "Boodschappen". Daarom zie je op het formulier ook de 1. Als je op het formulier een keuzelijst-met-invoervak met de juiste kenmerken had gemaakt, dan had je daar ook "Boodschappen" gezien.
In de tabel "2 Financiën" is het veld "Categorie" een tekstveld en sla je de tekst "Boodschappen" op. Wat je opslaat is wat je ziet. Je vervalt hier weer in je oude fout door niet de sleutel van "tblCategorie" op te nemen in de gerelateerde tabel.

Hoe een en ander aan te passen zodat de filterfunctie werkt is me even te veel werk. Ik kan de code die je met AI hebt gemaakt niet doorgronden.
 
Beste xps351 je bent in ieder geval eerlijk. Gaat je te veel tijd tijd kosten. Over de functiefilter gesproken heb ik van helpdesk zelf. OctoFish heeft deze voor iemands aangepast. Dus geen AI.
 
Als iemand mijn 'naam' gebruikt, wil ik best weer even uit mijn winterslaap ontwaken 😊. De filterfunctie die ik heb 'ontwikkeld' is inderdaad best lastig, maar werkt in beginsel prima als je alles correct inricht. Ik dacht dat ik 'm ooit in een werkende database had aangeboden, 'ter lerinck end vermaeck'. Maar hij werkt dus alleen goed als je alle elementen overneemt. Ik heb deze week wel tijd om te kijken waarom hij bij jou niet werkt.

Sommige opmerkingen van xp snap ik niet (de link tussen gegevens invoeren in een tabel, en het gebruik van opzoekvelden in diezelfde tabellen is bijvoorbeeld onjuist) maar het klopt wel dat je met keuzelijsten níet ziet wat je opslaat (de sleutelwoorden van de opzoektabel), maar een opzoekwaarde ziet (de naam van het artikel). En daar moet je bij filteren dus altijd rekening mee houden als je een filter maakt met een keuzelijst als filterwaarde. Er zijn eigenlijk twee manieren om te filteren met een keuzelijst: filteren met de eigenschap Value (de opgeslagen waarde) of filteren met de zichtbare waarde. En dat laatste doe je met de eigenschap Column. Stel dat het eerste (onzichtbare) veld in de query onder de keuzelijst het ID veld van de opzoektabel bevat (een getal) en de tweede kolom de artikelnaam. En je wilt filteren op die naam. Dan gebruik je in de filter níet CboFilter.Value, maar CboFilter.Column(1). Daarmee lees je de artikelnaam uit, en niet het ID veld. En heb je dus tekst.

Dus als je de functie werkend wil hebben, dan kijk ik er deze week wel even naar.
 
Terug
Bovenaan Onderaan