Ga naar inhoud
  • 0

zoeken in gevonden records


Konkel Noen

Vraag

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.

Link naar reactie

13 antwoorden op deze vraag

Aanbevolen berichten

  • 0

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)

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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 !

Link naar reactie
  • 0

(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.

Link naar reactie
  • 0
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!

Link naar reactie
  • 0

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 !

Link naar reactie
  • 0
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.

Link naar reactie

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.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...