Zoeken op selectie criteria;criteria2

Status
Niet open voor verdere reacties.

Ronaldxx

Gebruiker
Lid geworden
13 dec 2009
Berichten
198
Ik zou graag willen zoeken in een lijst met gegevens die gebaseerd is op een wizard opzoeken.
In de lijst zijn de gegevens opgeslagen als

1.Criteria1;Criteria2;Criteria3;Criteria4;
2.Criteria2;Criteria4;Criteria3;
3.Criteria4;Criteria1;
4.Criteria1;
5. Criteria4;Criteria3;

Elk criteria staat op zich.
Nu heb ik een textbox waarin de criteria waar ik op wil zoeken staan omschreven als criteria1;Criteria2 ect(variabel)
Nu is het probleem dat als ik via een query de txtbox in geef hij zoekt op de string (criteria1;Criteria2)
Ik zou willen dat hij de criteria apart neemt en ook apart zoekt.
Als uitkomst voor dit voorbeeld zou het dus moeten zijn: records 1,2,3,4 omdat 1 van de criteria's in de string erin zit.

Is dit mogelijk ?
 

Bijlagen

Zoiets als in dit voorbeeld?
 

Bijlagen

Dat lijkt er al heel erg op !

Ik had het werkpakket 1 veranderd in Fundering;
Nu toonde alle 4 de eisen terwijl alleen de eerste 2 getoond moesten worden. Toon bekeek in het criteria, die waarschijnljik uit de code voort komt:
Like '*Fundering*' Or Like '**'

Dit geeft 4 resulateten waarvan 2 te veel, ik paste hem aan naar Like '*Fundering*' Or Like '*"*' en toen toonde hij de 2 resultaten. Is dit in de code in te bakken ?

Gr, super bedankt alvast weer , !
 
Laatst bewerkt:
Als je in je objecten tektsveld eindigt met een ; heb je inderdaad je probleem. Dat moet je dan ook niet doen.... De code die nu gebruikt wordt splitst op basis van een puntkomma. Als je die dus teveel in je tekstvak hebt, wordt er een leeg filter toegevoegd aan de filtering. En dat is uiteraard niet de bedoeling. Eventueel kun je de string nog wel strippen van een lege puntkomma.
 
Je hebt gelijk, mijn fout.
In 1 woord, geweldig.

Hartstikke bedankt !

Gr, Ro :thumb:
 
Nog even een vraagje.

Ik heb voor de objecten een Idnummering toegevoegd.
Nu doet de code het niet meer. De volgende fout:

Code:
sCriterium = Split(Me.Objecten, ";")
Type komen niet met elkaar overheen.

Dit komt natuurlijk door die Id nummering, is dit simpel op te lossen in de code die je me toon gaf ?

Super bedankt in ieder geval.

gr
 
Zal er even naar kijken...
 
Wat heb je precies gedaan? Ik heb net ook een ObjectenID toegevoegd aan de tabel, maar bij mij blijft hij in het voorbeeld perfect werken. Heb je iets aangepast aan het tekstvak? En zo ja, wat?
 
Dat klopt, in dit voorbeeld is het een tekst vak.

In de normale database wordt er door middel van wizard opzoeken een lijst gecreërd van mogelijkheden.
Vandaar de indeling met de ( ; ).

In mijn database is het geen tekstvak maar een keuzelijst met invoervak met de volgende SQL:
Code:
SELECT Objecten.ObjectID, Objecten.Objecten
FROM Objecten
ORDER BY Objecten.[Objecten];
 
In een keuzelijst met invoervak kun je toch maar één waarde selecteren? Hoe kom je dan aan de verschillende objecten?
Overigens snap ik wel dat je nu een fout krijgt, want doordat je er nu een ObjectID voor zet, werk je nu met de ObjectID nummers, niet met de tekst. Blijft de vraag natuurlijk hoe je met een keuzelijst met invoervak meerdere opties kunt selecteren...
 
Haha 2007 he, een nieuwe optie denk ik selectie voor meerdere waarden kan je aanzetten.
Ik had het eruit gesloopt omdat ik wist dat je 2003 gebruikt.

Dat komt denk ik ook door de idnummering, ik dacht dan moet ik scriterium als integer maken maar dat werkte niet.

attachment.php
 

Bijlagen

  • Afbeelding.JPG
    Afbeelding.JPG
    48,3 KB · Weergaven: 81
Mafketels van Microsof ;) Je kunt voor meervoudige selectie in 2003 natuurlijk gewoon een keuzelijst gebruiken, bij meervoudige selecties.... Dus ze hadden wat mij betreft die keuzelijsten niet hoeven te verbouwen! Maar goed... Als je de ObjetID verder niet nodig hebt, kun je de veldvolgorde misschien veranderen in de keuzelijst, zodat [Objecten] weer vooraan staat. Met uiteraard wel behoud van de Afhankelijke kolom.
 
Had ook gekunt, maar ik heb dit overal toegepast dus das nogal veel werk.
Ik snap niet dat het niet gewoon werkt, ik heb de afhankelijke kolom op 2 gezet
Code:
SELECT Objecten.Objecten, Objecten.ObjectID
FROM Objecten
ORDER BY Objecten.Objecten;

Zo vreemd dat het niet werkt, je zou zeggen dat hij gewoon de tekst eruit moet halen..
Ik dacht slim te zijn een textvak te maken en dan een expressie als:
Code:
=[objecten].[column](1)
dan zet ik die op onzichtbaar en leid hem daarna af.
Maar daar trapt hij ook al niet in hij blijft maar met cijfers gooien..
 
Laatst bewerkt:
Je moet de Afhankelijke kolom op kolom 1 zetten, want je wilt het tekstveld Objecten terugzien, niet de ObjectID's
 
Dan laat hij cijfers zien en zegt als je iets toevoegd:
ongeldige waarde ingevoerd.
 
Ik zie wel dat je met dubbele namen werkt: zo te zien heeft je keuzelijst dezelfde naam als het veld; dat lijkt mij verwarrend op zijn minst. Je zou dus de keuzelijst bijvoorbeeld cboObjecten kunnen noemen. Kijken of dat scheelt? Kun je met een Inputbox afvangen wat hij uitleest?
 
Bijgaande:

Bij het afhangen door =[cboobjecten]
Laat hij alleen de cijfers zien.

De naamgeving staat nu goed.
CboObjecten en txtObjecten
 

Bijlagen

  • ff.JPG
    ff.JPG
    4,1 KB · Weergaven: 18
En hoe heb je nu de afhankelijke kolom staan? Heb je die al een keer veranderd, en wat is dan het resultaat?
 
Jah ik zit er heel de tijd mee te rommelen.
Als ik het veld naar voeren verschuif in de SQL en hem dan op afhankelijke kolom zet 0 zet dan doet hij het niet meer geeft hij ongeldige waarden.
Als ik hem op 1 zet krijg ik getallen

Als ik de Id vooraan laat staan en de afhankelijke kolom op 1 zet gebeurd hetzelfde.

Trouwens eenvraagje de afhankelijke kolom begint bij 0 toch want bij 1 doet hij hetzelfde bij 2 doet hij het pas anders.

Is het nietmogelijk via dat scriterium de getallen in 2 en te splitsen ?
Anders via een query alleen de tekst waarden ophalen. Kzal nog wel wat proberen.

Bedankt alvast he !. Snapt niet dat het niet gwn werkt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan