Woorden opzoeken

Status
Niet open voor verdere reacties.

Saalk

Gebruiker
Lid geworden
3 jan 2011
Berichten
85
Goedenavond. Ik heb allemaal kruiswoordpuzzelwoorden met omschrijvingen.
Ik kan soms een woord niet vinden. Bestaat er nu een oplossing dat als ik een zoekveld heb waar ik de letters die ik heb kan invullen en de andere letters die ik niet heb doormiddel van een punt kan invullen en dat er dan gezocht wordt in mijn database (woorden) en dat dan het aantal woorden dat gevonden wordt getoond worden. Ik heb er een voorbeeldje bijgedaan weliswaar gemaakt met Excel.

BVB Hartelijk dank.
 

Bijlagen

  • Woorden opzoeken.zip
    65,4 KB · Weergaven: 26
Ik zou er niet op rekenen; je kunt aangeven of een zoekstring aan het begin, ergens in de tekst of aan het eind moet staan, en dan heb je 't wel gehad. Voor elke andere vorm zul je een functie moeten bouwen, die niet heel snel zal zijn, omdat je elke combinatie moet berekenen/doorlopen. Overigens is het dus wel te doen...
 
Ik zou er niet op rekenen; je kunt aangeven of een zoekstring aan het begin, ergens in de tekst of aan het eind moet staan, en dan heb je 't wel gehad. Voor elke andere vorm zul je een functie moeten bouwen, die niet heel snel zal zijn, omdat je elke combinatie moet berekenen/doorlopen. Overigens is het dus wel te doen...

Dank u voor de snelle reactie. Zou je het misschien kunnen versnellen door het aantal letters eerst optegeven waardoor er niet door alle woorden hoeft worden gezocht?
Overigens weet ik niet hoe je een functie moet bouwen. Maar mischien met u hulp een stuk opweg helpen? Of dit is voor een leek niet te doen, dan gaat mijn vraag gewoon over.

BVB Hartelijk dank
 
Ik zou inderdaad een voorwaarde inbouwen op het aantal tekens, want dat scheelt in het rekenwerk. Bij een kruiswoordpuzzel weet je immers het aantal tekens dat het woord moet bevatten. Ik wil morgen of het weekend wel eens een poging wagen om iets in elkaar te flanzen... Moet ook nog een hoofdstuk voor de cursus opleveren :)
 
Ik zou inderdaad een voorwaarde inbouwen op het aantal tekens, want dat scheelt in het rekenwerk. Bij een kruiswoordpuzzel weet je immers het aantal tekens dat het woord moet bevatten. Ik wil morgen of het weekend wel eens een poging wagen om iets in elkaar te flanzen... Moet ook nog een hoofdstuk voor de cursus opleveren :)

Doe rustig aan het hangt nergens vanaf. Ik ben allang blij dat u mij helpen wilt.
Ik doe ook mee met uw cursus zeer interessant. En hoop het nodige ervan op te steken

:d Hartelijk dank. En een groet Klaas.
 
Er is overigens wel een mogelijkheid om via een Query iets te doen in combinatie met een fomulier bijvoorbeeld, al kun je het ook nog in een zelfstandige query toepassen. Dat laatste heeft dan wel als vervelende bijkomstigheid dat je alle letters die je wilt kunnen vragen, ook al dan niet moet invullen in de query. Bij 10 zoekletters krijg je dan dus 10 vragen, die je al dan niet leeg kunt laten om het resultaat te maken. Klinkt een beetje cryptisch misschien, maar probeer de query maar uit....
Eerst de variant met een formulier, die dat probleem niet heeft.
Uitgangspunt: je hebt een query (qZoekwoorden_Filter bijvoorbeeld) die je opstart vanaf het formulier fKruiswoord. In dit formulier heb je in de koptekst 10 tekstvakken gemaakt met de namen l1; l2 ... l10. Deze tekstvakken gebruik je om een letter in te vullen waarop je wilt zoeken. De query [qZoekwoorden_Filter] bevat de volgende SQL code: (nieuwe query maken, geen tabel selecteren, OK, knop SQL klikken, en de code plakken)

PHP:
SELECT Zoekwoord FROM tZoekwoorden WHERE (
((IIf(IsNull([Forms]![fKruiswoord]![l1]),True,Left([Zoekwoord],1)=[Forms]![fKruiswoord]![l1]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l2]),True,Mid([Zoekwoord],2,1)=[Forms]![fKruiswoord]![l2]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l3]),True,Mid([Zoekwoord],3,1)=[Forms]![fKruiswoord]![l3]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l4]),True,Mid([Zoekwoord],4,1)=[Forms]![fKruiswoord]![l4]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l5]),True,Mid([Zoekwoord],5,1)=[Forms]![fKruiswoord]![l5]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l6]),True,Mid([Zoekwoord],6,1)=[Forms]![fKruiswoord]![l6]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l7]),True,Mid([Zoekwoord],7,1)=[Forms]![fKruiswoord]![l7]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l8]),True,Mid([Zoekwoord],8,1)=[Forms]![fKruiswoord]![l8]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l9]),True,Mid([Zoekwoord],9,1)=[Forms]![fKruiswoord]![l9]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l10]),True,Mid([Zoekwoord],10,1)=[Forms]![fKruiswoord]![l10]))<>False));

Het lijkt een hele hoop werk, maar het is hoofdzakelijk knippen en plakken ;)

De zelfstandige Query-variant:

PHP:
PARAMETERS [Letter 1] Text ( 1 ), [Letter 2] Text ( 1 ), [Letter 3] Text ( 1 ), [Letter 4] Text ( 1 ), [Letter 5] Text ( 1 ), 
[Letter 6] Text ( 1 ), [Letter 7] Text ( 1 ), [Letter 8] Text ( 1 ), [Letter 9] Text ( 1 ), [Letter 10] Text ( 1 );
SELECT Zoekwoord FROM tZoekwoorden WHERE (
((IIf(IsNull([Letter 1]),True,Left([Zoekwoord],1)=[Letter 1]))<>False) AND 
((IIf(IsNull([Letter 2]),True,Mid([Zoekwoord],2,1)=[Letter 2]))<>False) AND 
((IIf(IsNull([Letter 3]),True,Mid([Zoekwoord],3,1)=[Letter 3]))<>False) AND 
((IIf(IsNull([Letter 4]),True,Mid([Zoekwoord],4,1)=[Letter 4]))<>False) AND 
((IIf(IsNull([Letter 5]),True,Mid([Zoekwoord],5,1)=[Letter 5]))<>False) AND 
((IIf(IsNull([Letter 6]),True,Mid([Zoekwoord],6,1)=[Letter 6]))<>False) AND 
((IIf(IsNull([Letter 7]),True,Mid([Zoekwoord],7,1)=[Letter 7]))<>False) AND 
((IIf(IsNull([Letter 8]),True,Mid([Zoekwoord],8,1)=[Letter 8]))<>False) AND 
((IIf(IsNull([Letter 9]),True,Mid([Zoekwoord],9,1)=[Letter 9]))<>False) AND 
((IIf(IsNull([Letter 10]),True,Mid([Zoekwoord],10,1)=[Letter 10]))<>False));

Overigens kun je de eerste variant ook zelfstandig draaien, maar de tweede heeft als voordeel dat er maar één letter ingevuld mag worden.
Zoals je ziet, is de invoer nu beperkt tot 10 letters per woord. Wil je er meer, dan moet je meer tekstvakken maken. Dat is uiteraard wel te doen, maar niet heel gebruiksvriendelijk. Ik maak dus nog een oplossing waarbij je eerst het aantal letters kiest, en dan net zoveel letters kan invullen als de woordlengte toestaat. Da's veel gebruiksvriendelijker.
 
Laatst bewerkt:
Er is overigens wel een mogelijkheid om via een Query iets te doen in combinatie met een fomulier bijvoorbeeld, al kun je het ook nog in een zelfstandige query toepassen. Dat laatste heeft dan wel als vervelende bijkomstigheid dat je alle letters die je wilt kunnen vragen, ook al dan niet moet invullen in de query. Bij 10 zoekletters krijg je dan dus 10 vragen, die je al dan niet leeg kunt laten om het resultaat te maken. Klinkt een beetje cryptisch misschien, maar probeer de query maar uit....
Eerst de variant met een formulier, die dat probleem niet heeft.
Uitgangspunt: je hebt een query (qZoekwoorden_Filter bijvoorbeeld) die je opstart vanaf het formulier fKruiswoord. In dit formulier heb je in de koptekst 10 tekstvakken gemaakt met de namen l1; l2 ... l10. Deze tekstvakken gebruik je om een letter in te vullen waarop je wilt zoeken. De query [qZoekwoorden_Filter] bevat de volgende SQL code: (nieuwe query maken, geen tabel selecteren, OK, knop SQL klikken, en de code plakken)

PHP:
SELECT Zoekwoord FROM tZoekwoorden WHERE (
((IIf(IsNull([Forms]![fKruiswoord]![l1]),True,Left([Zoekwoord],1)=[Forms]![fKruiswoord]![l1]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l2]),True,Mid([Zoekwoord],2,1)=[Forms]![fKruiswoord]![l2]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l3]),True,Mid([Zoekwoord],3,1)=[Forms]![fKruiswoord]![l3]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l4]),True,Mid([Zoekwoord],4,1)=[Forms]![fKruiswoord]![l4]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l5]),True,Mid([Zoekwoord],5,1)=[Forms]![fKruiswoord]![l5]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l6]),True,Mid([Zoekwoord],6,1)=[Forms]![fKruiswoord]![l6]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l7]),True,Mid([Zoekwoord],7,1)=[Forms]![fKruiswoord]![l7]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l8]),True,Mid([Zoekwoord],8,1)=[Forms]![fKruiswoord]![l8]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l9]),True,Mid([Zoekwoord],9,1)=[Forms]![fKruiswoord]![l9]))<>False) AND 
((IIf(IsNull([Forms]![fKruiswoord]![l10]),True,Mid([Zoekwoord],10,1)=[Forms]![fKruiswoord]![l10]))<>False));

Het lijkt een hele hoop werk, maar het is hoofdzakelijk knippen en plakken ;)

De zelfstandige Query-variant:

PHP:
PARAMETERS [Letter 1] Text ( 1 ), [Letter 2] Text ( 1 ), [Letter 3] Text ( 1 ), [Letter 4] Text ( 1 ), [Letter 5] Text ( 1 ), 
[Letter 6] Text ( 1 ), [Letter 7] Text ( 1 ), [Letter 8] Text ( 1 ), [Letter 9] Text ( 1 ), [Letter 10] Text ( 1 );
SELECT Zoekwoord FROM tZoekwoorden WHERE (
((IIf(IsNull([Letter 1]),True,Left([Zoekwoord],1)=[Letter 1]))<>False) AND 
((IIf(IsNull([Letter 2]),True,Mid([Zoekwoord],2,1)=[Letter 2]))<>False) AND 
((IIf(IsNull([Letter 3]),True,Mid([Zoekwoord],3,1)=[Letter 3]))<>False) AND 
((IIf(IsNull([Letter 4]),True,Mid([Zoekwoord],4,1)=[Letter 4]))<>False) AND 
((IIf(IsNull([Letter 5]),True,Mid([Zoekwoord],5,1)=[Letter 5]))<>False) AND 
((IIf(IsNull([Letter 6]),True,Mid([Zoekwoord],6,1)=[Letter 6]))<>False) AND 
((IIf(IsNull([Letter 7]),True,Mid([Zoekwoord],7,1)=[Letter 7]))<>False) AND 
((IIf(IsNull([Letter 8]),True,Mid([Zoekwoord],8,1)=[Letter 8]))<>False) AND 
((IIf(IsNull([Letter 9]),True,Mid([Zoekwoord],9,1)=[Letter 9]))<>False) AND 
((IIf(IsNull([Letter 10]),True,Mid([Zoekwoord],10,1)=[Letter 10]))<>False));

Overigens kun je de eerste variant ook zelfstandig draaien, maar de tweede heeft als voordeel dat er maar één letter ingevuld mag worden.
Zoals je ziet, is de invoer nu beperkt tot 10 letters per woord. Wil je er meer, dan moet je meer tekstvakken maken. Dat is uiteraard wel te doen, maar niet heel gebruiksvriendelijk. Ik maak dus nog een oplossing waarbij je eerst het aantal letters kiest, en dan net zoveel letters kan invullen als de woordlengte toestaat. Da's veel gebruiksvriendelijker.

U heeft een mooi werk geleverd. Ik heb ze allebij nagemaakt en met u omschrijving tot een goed einde gebracht. En ik zie nu ook het verschil tussen de 2 manieren. En inderdaad net wat u schrijft moet je bij de laatste alle tien de letters de revue laten passeren. Ik heb nog een vraag als ik de Query uitvoer krijg ik de uitkomst in de Query te zien bestaat er nu ook de mogelijkheid om dit te zien in het formulier waar ik ook de letters invul?
Ik doe er een afbeelding bij. Ik heb ook begrepen dat u nog probeert om het zo te maken dat je eerst het aantal letters kiest voordat je gaat in vullen. Dat zou helemaal mooi zijn.
Bedankt voor u moeite en tijd om dit tot een goed einde te brengen. Groet Klaas:d
 

Bijlagen

  • Woorden opzoek.zip
    66,2 KB · Weergaven: 22
En een leuk voorbeeldje met een formuliertje erbij...
Het kan allemaal nog wel strakker, maar dit gaat al een aardig stukkie de goede kant op.
 

Bijlagen

  • Kruiswoord.rar
    59 KB · Weergaven: 31
En een leuk voorbeeldje met een formuliertje erbij...
Het kan allemaal nog wel strakker, maar dit gaat al een aardig stukkie de goede kant op.

Ik vind het geweldig en super gemaakt ik heb het een en ander aangepast oa het veld Provincie verwijderd met het wat gemopper van de code ook daar heb ik Provincie verwijderd en er stond iets tussen haakjes (1) en daar heb ik (0) van gemaakt. En het gemopper was over met tot slot een prachtige woordzoeker dank zij U.

Heel hartelijk dank voor u tijd geduld en moeite super!:d:d
 
Kijk, zo zien we dat graag! Misschien is het wel leuk om als tie klaar is, hem weer te posten; er zijn wel een aantal online programma's die hetzelfde doen, maar zo is 't ook wel een leuk ding om te hebben.
 
Kijk, zo zien we dat graag! Misschien is het wel leuk om als tie klaar is, hem weer te posten; er zijn wel een aantal online programma's die hetzelfde doen, maar zo is 't ook wel een leuk ding om te hebben.


Goede middag. Nou het heeft wat lang geduurd maar na 20 copiën en veel gestuntel toch iets wat ik er wel op vindt lijken. Ik snap alleen niet waarom het woorden menu almaar naar links open springt waarom niet gewoon boven de andere formulieren???
Maar dat terzijde.
Ik ben U dankbaar voor de moeite Michel zonder u hulp had ik dit niet gered. En zoals gevraagt het resultaat wordt mee gepost. Misschien dat iemand anders er ook wat mee kan. Groet Klaas
 

Bijlagen

  • Woordzoeker bijna klaar.zip
    94,1 KB · Weergaven: 28
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan