Konkel Noen Posted November 2, 2002 Posted November 2, 2002 Is dit de goede manier van werken om een set records te vinden in reeds gevonden records (via een script) ? * venster vastzetten * laatst gevonden wijzigen * veld instellen ..... * zoeken uitvoeren[] als ik de zoekactie met de twee criteria ingeef na een appeltje-f gaat dat sneller maar het is de bedoeling een knop te definiëren. Quote
0 AvD Posted November 2, 2002 Posted November 2, 2002 Tijdens het zoeken doorloopt FileMaker steeds de hele databank, en niet de vorige found set. Je kan natuurlijk wel twee (of meer) verzoeken na elkaar doen lopen (elk nieuw verzoek leid je dan in door New Request). Op die manier kan je bijvoorbeeld een aantal records weer weglaten uit de found set (dat gaat wel, omdat het "in één beweging" gebeurt). In het voorbeeld dat je zelf geeft, staat géén New Request. Je twee zoekcriteria worden dus terzelfdertijd afgehandeld. Daarmee zoek je bevoorbeeld alle contacten die zowel in Turnhout als in Antwerpen wonen. Die ga je waarschijnlijk niet vinden, omdat je in principe slechts op één adres woont (het voorbeeld is niet perfect, maar je begrijpt wat ik bedoel). ALs je contactpersonen wil zoeken die in Turnhout of in Antwerpen wonen, dan moet je die New Request gebruiken: je krijgt dan alle mensen die in Turnhout wonen (dit gebeurt via Request 1) en alle mensen die in Antwerpen wonen (dit gebeurt dan via Request 2). Het lijkt dus een AND request, maar eigenlijk is het een OR request !). Waarom wil je het zoeken in 2 fasen doen verlopen? (Just curious) Quote
0 Konkel Noen Posted November 2, 2002 Author Posted November 2, 2002 Ik heb een database met vervoerdocumenten. In een layout met lijst toon ik vier velden : Referentie, Datum, Klant en Status. Status is ofwel "te leveren", "geleverd" of "gefactureerd" Ik heb al knoppen met : 'Toon alles' 'Toon te leveren', enz. 'Toon te leveren' toont mij dus de lijst van alle vervoerdocs die nog te leveren zijn (van alle Klanten). Tot hier werkt het. Ik kan ook "gerelateerd" naar dezelfde layout komen via mijn klantendatabase. Dan toont hij mij enkel de gerelateerde vervoerdocumenten (maar wel allemaal). Met diezelfde knop 'Toon te leveren' wil ik dus enkel de "te leveren" vervoerdocs zien van die bepaalde Klant. Quote
0 Stef Posted November 2, 2002 Posted November 2, 2002 Dit kan beter: maak in "vervoerdocumenten" een combinatieveld "klantnr & Status" met best een separator ertussen. calculation, result: text, klantnr & "|" & status In de klantendatabank maak je dan per status een calculatieveld, result text klantnr & "|" & "te leveren" klantnr & "|" & "geleverd" klantnr & "|" & "gefactureerd" maak vervolgens 3 relaties van deze velden naar het veld "klantnr & Status" in "vervoerdocumenten" en de scripts die naar deze 3 verwijzen. hth, Stef Quote
0 AvD Posted November 2, 2002 Posted November 2, 2002 Vanuit het klantenbestand kan je dat ofwel via scripting, ofwel relationeel. Ik leg hier enkel de scripting uit. Als je het relationeel wil, geef je maar een seintje. In het klantenbestand creëer je een nieuw script om de Vervoerdocumenten "te leveren" te zoeken: Stap 1: In Klanten: kopieer de actuele klantcode en daarna Perform external script in het bestand Vervoerdocumenten. Stap 2 (het external script): het activeert in Vervoerdocumenten een Restore Find die "te leveren" zocht en zet daarbij via Paste de te zoeken klantcode. Daarna Perform Find Dat is alles. Quote
0 AvD Posted November 2, 2002 Posted November 2, 2002 De service hier tart alle verbeelding: het relationele heb je ondertussen ook al gekregen! Quote
0 Konkel Noen Posted November 2, 2002 Author Posted November 2, 2002 bedankt heren. maar en de scripts die naar deze 3 verwijzen. hier ben ik even ontredderd. tot nu toe gebruikte ik enkel de Zoeken [herstellen] functie. Quote
0 AvD Posted November 2, 2002 Posted November 2, 2002 Ik vermoed dat Stef hiermee drie scriptjes bedoelt die - elk geactiveerd door een button - essentieel draaien rond de scriptstap GTRR (dat betekent: Go to Related Record) met als parameter de gedefinieerde relatie. Is dat duidelijk? Quote
0 jw Posted November 2, 2002 Posted November 2, 2002 ik gebruik ook een andere methode: Stel dat je via een scipt alle documenten van een maand hebt geselecteerd. Dan wil je daarna alle uit deze deelselectie alleen overhouden wat aan een bepaalde relatie is gericht. Dan laat ik een script lopen de met een loop alle records verbergt van andere relaties. Op deze manier kan je een selectie steeds kleiner maken en het resultaat bekijken. In de praktijk zit deze methode nog wat ingewikkelder en slimmer in elkaar en er ontstaan plots zeer flexibele selectiemethoden. Is iemand geïnteresseerd, dan leg ik het nog wat verder uit. Quote
0 AvD Posted November 2, 2002 Posted November 2, 2002 Konkel Noen schrijft in een off line mail (maar eigenlijk zou hij beter op het forum blijven!) Dat is dus voor mij nog niet duidelijk genoeg. Als je de relaties gedefinieerd hebt zoals Stef heeft voorgeschreven, dan maak je in je klantenbestand drie scriptjes aan, één voor elke relatie, en begint elk script met GTRR, daarna geef je als parameter voor deze functie de relatie aan die je wil activeren (één van die drie dus). Als je dan voor dit script nog een button voorziet, dan kan je met één klik vanuit een klantenfiche rechtstreeks naar de vervoerdocumenten van de gewenste status. Probeer het maar eens, stap voor stap, en bekijk in scriptmaker goed alle mogelijke vakjes en hokjes die je kan aanklikken, en wat er dan allemaal gebeurt of gevraagd wordt ! Quote
0 Konkel Noen Posted November 2, 2002 Author Posted November 2, 2002 (Sorry,'k' zal niet meer doen) oké, nu lukt het wel. de 'zoek'-scripts (1 lijntje met GTRR) moest ik dus in de klanten.fp5 zetten en in mijn vervoerdoc.fp5 (waar de layout met lijst zich bevindt) diende ik het externe script op te roepen. dit gaat merkelijk sneller dan mijn oorspronkelijke opeenvolgende zoek-opdrachten. mooi zo. alleen, als ik nu na een 'Toon alles' alle vervoerdocs van ALLE Klanten wil zien van een bepaalde status, dan toont hij mij enkel deze van de laatst geselecteerde Klant. Quote
0 AvD Posted November 2, 2002 Posted November 2, 2002 de 'zoek'-scripts (1 lijntje met GTRR) moest ik dus in de klanten.fp5 zetten. Dat is OK ! en in mijn vervoerdoc.fp5 (waar de layout met lijst zich bevindt) diende ik het externe script op te roepen. Het is niet helemaal duidelijk wat je hiermee bedoelt. Eigenlijk zou je die files moeten insturen. Je doet iets verkeerd, maar wat precies is van hieruit niet te zien. alleen, als ik nu na een 'Toon alles' alle vervoerdocs van ALLE Klanten wil zien van een bepaalde status, dan toont hij mij enkel deze van de laatst geselecteerde Klant Het loopt dus mis blijkbaar. Eigenlijk is dat de reden waarom ik je in eerste instantie de gemakkelijke weg heb getoond, nl. via de scripting. Het relationele systeem - veel beter, inderdaad - vergt echter meer ervaring, en die heb je misschien nog niet. Voorstel: probeer het eerst eens via die scripting, in afwachting dat Stef terug aan boord klimt (hij heeft blijkbaar ergens anders nachtdienst...). Of anders... slaap er eens over! Tot morgen! Quote
0 Konkel Noen Posted November 4, 2002 Author Posted November 4, 2002 goeiemorgen, per klant loopt het relationele perfect nu. het ontbreekt mij natuurlijk nog aan ervaring maar daarom hoef ik nog niet tevreden te zijn met een minder goede oplossing. als je wilt lopen voor je kunt gaan, ga je af en toe op je bakkes ... maar je leert wel snel bij. in ieder geval weeral eens bedankt voor de geduldige uitleg ! Quote
0 AvD Posted November 4, 2002 Posted November 4, 2002 het ontbreekt mij natuurlijk nog aan ervaring maar daarom hoef ik nog niet tevreden te zijn met een minder goede oplossing. als je wilt lopen voor je kunt gaan, ga je af en toe op je bakkes ... maar je leert wel snel bij Dit vind ik nu eens een zinnige opmerking; het zou goed zijn als iedereen er zo over dacht. FileMaker heeft inderdaad een lage instapdrempel (denk maar aan al die labradors), en het gaat snel vooruit. Zowel in zakelijk als in hobby-gebruik merk ik echter vaak dat men dan tot het alpinistensyndroom komt: men klimt gezwind en snel naar boven, zich concentrerend op de rotsen die onder onze handen en voeten voorbijkomen. Heerlijk fris gesnoven lucht, de echte kick van het klimmen! Tot we ineens naar beneden kijken en schrikken van de hoogte !! We kijken dan naar boven, en zien dat het nog véél hoger kan. Dan weer een blik naar de steilte daar beneden. Sommigen verstijven dan en kunnen niet meer voor- of achteruit... Dan is het moment gekomen voor hulp: een forum, een newsgroup, of professionele assistentie, het maakt niet uit. Maar zo groeit wel een hechte FileMaker-gemeenschap. Quote
Question
Konkel Noen
Is dit de goede manier van werken om een set records te vinden
in reeds gevonden records (via een script) ?
* venster vastzetten
* laatst gevonden wijzigen
* veld instellen .....
* zoeken uitvoeren[]
als ik de zoekactie met de twee criteria ingeef na een appeltje-f gaat dat sneller
maar het is de bedoeling een knop te definiëren.
13 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.