marcelboot Geplaatst: 7 november 2019 Delen Geplaatst: 7 november 2019 Ik heb ooit een invoerlijst gezien waar je na elke letter intypen een lijst zag met inhoud, die daarmee begint. Weet iemand waar ik dat kan aanvinken of moet dat worden geprogrammeerd? Ik denk zelf het laatste maar ben er niet zeker van. Quote Link naar reactie
0 Banach Geplaatst: 7 november 2019 Delen Geplaatst: 7 november 2019 Zie automatische aanvulling (autocomplete): https://fmhelp.filemaker.com/help/18/fmp/nl/#page/FMP_Help%2Fauto-complete.html Quote Link naar reactie
0 marcelboot Geplaatst: 8 november 2019 Auteur Delen Geplaatst: 8 november 2019 Banach, dit is me al bekend en dat bedoel ook niet. Ik heb ooit een script gezien, dat na elke letter, die je invoert snel een selectie maakt van records die aan die tekst op dat moment voldoen. Zo kun je dus kiezen uit een lijst namen, waarvan er werd veel met Van beginnen, als je de Naam begint te typen. Naarmate je meer letters typt, wordt de lijst kleiner. Ik vond dat script toen al briljant, maar ben het geheel kwijt geraakt. Quote Link naar reactie
0 Ari Geplaatst: 8 november 2019 Delen Geplaatst: 8 november 2019 Maak een calculatieveld Zoek = substitute ( trimall ( Text;1;1) ; " " ; ¶ ) Maak een globaalveld voor de zoek invoer Maak een calculatieveld op de het globaalveld: If ( IsEmpty ( Globaal ) ; "00000000000¶zzzzzzzzzzzzzzzzz"; Globaal & ¶ & Globaal &"zzzzzzzzzzzzzzzzzzz" ) & Left (Globaal ; 0 ) Leg een dubbele relatie met de het calculatieveld : Calc ≤ Zoek en Calc ≥ Zoek Als je tekst in de globaal invoert krijg je jouw gewenste lijst Quote Link naar reactie
0 Marsau Geplaatst: 8 november 2019 Delen Geplaatst: 8 november 2019 Het lijkt mij dat een niet opgeslagen veld binnen een relatie niet zal werken. Quote Link naar reactie
0 Ari Geplaatst: 8 november 2019 Delen Geplaatst: 8 november 2019 Klopt want niet geindexeerd. Ik doe vaak iets dergelijks met patterncount(s) op een portaalfilter. Dat werkt wel op niet geindexeerde velden (traag bij veel records) Quote Link naar reactie
0 Ari Geplaatst: 8 november 2019 Delen Geplaatst: 8 november 2019 Of bedoel je dat deze opzet niet werkt? Je hebt inderdaad een unstored aan de linkerkant maar zolang je een geindexeerd veld aan de rechterkant hebt werkt het. Quote Link naar reactie
0 menno Geplaatst: 10 november 2019 Delen Geplaatst: 10 november 2019 Op 08/11/2019 om 09:57 zei marcelboot: Ik heb ooit een script gezien, dat na elke letter, die je invoert snel een selectie maakt van records die aan die tekst op dat moment voldoen. Was het het voorbeeld bij dit artikel: https://www.filemakertips.nl/typen-en-zoeken-tegelijk/ van afgelopen februari op FileMakerTips? Quote Link naar reactie
0 marcelboot Geplaatst: 11 november 2019 Auteur Delen Geplaatst: 11 november 2019 21 uur geleden zei menno: Was het het voorbeeld bij dit artikel: https://www.filemakertips.nl/typen-en-zoeken-tegelijk/ van afgelopen februari op FileMakerTips? Menno, dit is hem. Ik heb hem niet daar gezien destijds, maar een paar jaar geleden. Is wel precies wat ik bedoelde. Dank weer Quote Link naar reactie
0 marcelboot Geplaatst: 6 december 2020 Auteur Delen Geplaatst: 6 december 2020 Weet iemand hoe ik hiermee een lijst kan maken in een ander tabel, zodat ik de juiste kan kiezen na invoer van enkele letters? Ik wil namelijk bij een factuur aanmaken een keuze maken uit 250 relaties en zo'n lijst is te lang bij invoer, maar het lukt mij niet om met het script een lijst te produceren. Quote Link naar reactie
0 Ari Geplaatst: 6 december 2020 Delen Geplaatst: 6 december 2020 Met een card layout kun je direct op de hoofdtabel zoeken. Quote Link naar reactie
0 marcelboot Geplaatst: 6 december 2020 Auteur Delen Geplaatst: 6 december 2020 Card lay-out zegt me even niets. Kun je dat nader specificeren? Quote Link naar reactie
0 Ari Geplaatst: 6 december 2020 Delen Geplaatst: 6 december 2020 Maak een nieuw window type card en open de layout die je wilt gebruiken om een relatie te kiezen. Op deze layout kun je direct op de tabel zoeken. Maak een keuzeknop met de scriptstappen die het relatie ID te setten en window weer sluiten. Quote Link naar reactie
0 marcelboot Geplaatst: 6 december 2020 Auteur Delen Geplaatst: 6 december 2020 Ari, dankjewel. Hier kan ik mee verder. (Die card window nog nooit eerder gebruikt) Quote Link naar reactie
0 Ari Geplaatst: 6 december 2020 Delen Geplaatst: 6 december 2020 Hoeft niet perse een card window te zijn. Heeft de eigenschap dat hij op de positie blijft waarop hij is geopend en dwingt af om gesloten te worden voordat je weer op de originele window verder kunt Quote Link naar reactie
0 Marsau Geplaatst: 10 december 2020 Delen Geplaatst: 10 december 2020 Een razendsnel alternatief voor selectie uit lijsten is het gebruik van card window in combinatie met sql queries. je laadt de zoekresultaten in een global tekstveld. daarna gebruik je een speciale CF om de regel te selecteren. Je klikt op de tekst als ware het een hyperlink. Een getriggered script destilleert de waarde voor verdere toepassing. je kan op deze wijze zelfs een zoekmachine realiseren die in meerdere tabellen tegelijk zoekt en records ophaalt. Dat vergt natuurlijk wat meer uitwerking. Deze benadering is echt razendsnel; veel sneller dan het laden van een lijst lay-out met daarop toegepaste zoekopdrachten. Dus een aanrader voor grotere zoektabellen. Quote Link naar reactie
0 marcelboot Geplaatst: 10 december 2020 Auteur Delen Geplaatst: 10 december 2020 Marsau, ik begrijp niet helemaal wat je nu vertelt. Heb je daar een voorbeeld van voor mij? Quote Link naar reactie
0 Marsau Geplaatst: 10 december 2020 Delen Geplaatst: 10 december 2020 Geen voorbeeld mogelijk, maar ik help je visualiseren. Stel je een selector schermpje voor (bedoeld als card-window) waarin je - terwijl je typt - uit een groot aantal waarden zoekresultaten krijgt uit één of meerdere tabellen met een gecalculeerde sql-statement. Dat is gewoon een lijst van tekst die door het script in het global tekstveld wordt gezet. Dat gaat veel sneller dan records ophalen. Vervolgens kan je op de lijst klikken. Je kan een custom functie maken om de betreffende waarde te selecteren. Dat kan omdat FileMaker de exacte positie van waar je klikt in de lijst kan laten weten: Get ( ActiveSelectionStart ) . De geselecteerde regels (waarde) kan je zo calculeren. Je sluit het scherm en past de geselecteerde waarde toe. Ik ga even niet in op de vele details, maar 'you get the idea'... Ideaal voor snelselectie uit grote lijsten, of voor het bouwen van multi-tabel zoekmodules (dat laatste kan standaard niet in FileMaker). Quote Link naar reactie
0 Ari Geplaatst: 11 december 2020 Delen Geplaatst: 11 december 2020 Het idee is goed maar ik vraag me af hoe je de volgende zaken hebt opgelost: In het algemeen ga je op zoek naar het ID van een record. In dit geval vind je bijvoorbeeld de naam van een relatie. Ga je dan de bijbehorende ID weer terug zoeken met SQL? Lijkt me lastig met dubbele namen. De gebruikerservaring van scrollen in een tekstveld lijkt me niet optimaal en als de tekst te lang is staat hij deels op de volgende regel. SQL is hoofdlettergevoelig en daar moet je ook maatregelen voor treffen. Quote Link naar reactie
0 marcelboot Geplaatst: 11 december 2020 Auteur Delen Geplaatst: 11 december 2020 De snelheid die ik nu haal met de card window lijkt me niet te overtreffen dus daar laat ik maar bij. Bovendien zoek ik niet in multitabellen, maar alleen in de Relaties tabel. Quote Link naar reactie
0 Marsau Geplaatst: 11 december 2020 Delen Geplaatst: 11 december 2020 Zeker, Marcel. Je moet een hele goede reden hebben om deze benadering te kiezen. Sterker nog: kies altijd voor een popup-menu als deze volstaat. Als je tevreden bent over de performance, dan zeker niet voor deze techniek kiezen. Ari, je benoemt precies de uitdagingen, en er zijn er nog meer. Het gaat altijd om een ID, en bij multi-table zoek opdrachten ook nog eens op een tabel-specificatie, want anders kan je niet naar de gevonden record navigeren. Er zijn verschillende oplossingen of strategieën om probleem te vermijden. Per ultimo neem je de info mee in de resultaat-regels, of je splitst een presentielijst af van een ruwe lijst, - of als je uit mag gaan van unieke resultaatregels, dan gebruik je een 2e sql-statement om een id-veld op te halen.. Dat SQL case-sensitive is, is overigens geen probleem. Een kwestie van de juiste statements bouwen. T.a.v. scrollen: je ziet niet dat de layout heeel lang is. De kop staat op een navigatie-gedeelte, en blijft dus altijd in beeld als je naar beneden scrollt. Er zit een limiet aan natuurlijk. Maar net als bij Google, je hoeft niet de 50.000 pagina's met zoekresultaten af te gaan. Sterker nog: je wilt zo weinig mogelijk zoekresultaten; slechts één. Dus tik je een extra character tot de fuik zich sluit. Quote Link naar reactie
0 Ari Geplaatst: 24 september 2021 Delen Geplaatst: 24 september 2021 Geeft jij het juiste SQL statement dan verklap ik het tab geheimpje 😃 Quote Link naar reactie
0 Marsau Geplaatst: 24 september 2021 Delen Geplaatst: 24 september 2021 Haha, oke. Je had er eerder om mogen vragen. Bijvoorbeeld: ExecuteSQL ( "SELECT \"Displaynaam\" FROM Relaties WHERE LOWER ( \"Displaynaam\") LIKE LOWER (?)" ; "" ; ""; "%" & zoek & "%" ) Door de resultaten te combineren met een label (een postfix of suffix labeltje, maak daar een CF voor... ) kan je ze markeren als relatie, en nog een tweede query op contactpersonen toevoegen. Je zoekt dan in meerdere tabellen tegelijk. De lijst voor presentatie even sorteren. Vervolgens is het zaak om een aangeklikte waarde weer om te zetten in een native FileMaker zoekopdracht. Je kan daarbij uitgaan van de getoonde waarde, maar je kan ook een constructie bedenken waarin je een ID als basis neemt, wat natuurlijk iets betrouwbaarder is. Quote Link naar reactie
0 Ari Geplaatst: 24 september 2021 Delen Geplaatst: 24 september 2021 Ja die begrijp ik maar het gaat mij vooral om de hoofdletters / kleine letters. Hoe vind ik Jansen als ik op jansen zoek.. Quote Link naar reactie
0 Ari Geplaatst: 24 september 2021 Delen Geplaatst: 24 september 2021 En hier het tab tobbertje HideTabs.fmp12 Quote Link naar reactie
0 Ari Geplaatst: 24 september 2021 Delen Geplaatst: 24 september 2021 Sorry niet goed gelezen. Thanks! Quote Link naar reactie
Vraag
marcelboot
Ik heb ooit een invoerlijst gezien waar je na elke letter intypen een lijst zag met inhoud, die daarmee begint. Weet iemand waar ik dat kan aanvinken of moet dat worden geprogrammeerd? Ik denk zelf het laatste maar ben er niet zeker van.
Link naar reactie
30 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.