HeMa Posted August 6, 2002 Posted August 6, 2002 Ik ben just started met FM, en heb versie 4.1 Engels. Ik heb nu 2 bestanden. In bestand 1 geeft met bv een woord in. Dan moet dat woord in bestand 2 worden opgezocht. Ik probeer met een script copy en paste, maar als bestand 2 open is blijkt er geen paste te zijn gebeurd in het gewenste veld. Wat is een juist en werken script hiervoor. En....wat is een boek met goede uitleg over FM. Het handboek is me toch te rommelig. Ik werkte vroeger met Omnis, dat was echt een gemak. Quote
0 Jimjams Posted August 6, 2002 Posted August 6, 2002 Probeer de copy/paste functie te vermijden en in de plaats daarvan de SetField-functie te gebruiken. M.a.w.: creëer eerst een relatie tussen de beide bestanden en gebruik die vervolgens om in het script dat je aanmaakt via de SetField-functie het bewuste veld in het andere bestand op te vullen. Dit script kan je dan aan een knop linken die je bij het hoofd inputveld plaatst. Op deze manier vermijd je ook dat gelijktijd lopende programma's die misschien ook de copy-functie gebruiken geen andere gegevens in je plakboek hebben geplaatst. SetField is waterdicht. Quote
0 HeMa Posted August 6, 2002 Author Posted August 6, 2002 Dank je. Dat heb ik nu ook al hier en daar gevonden en gebruikt. Nu echter wordt het betreffende bestand geopend en gebeurd er niets meer. Wat zijn de juiste scriptitems in welke volgorde. Find all en dan.....hoe worden ze zichtbaar ? En werkt het ook via de browser nadien ? Jammer maar Omnis was iets duidelijker, is echter spijtig niet meer betaalbaar. Kostte jaren geleden al duizenden guldens. Quote
0 Jimjams Posted August 6, 2002 Posted August 6, 2002 Wat je zou kunnen doen is het volgende; DataBase01 - matchveld - inputveld - global01 (= global tekstveld) DataBase02 - matchveld - global02 (= global tekstveld) - klantnaam - klantadres KlantRelatie: DB02_matchveld <--> DB01_matchveld Vervolgens maakt je in DB02 het script 'ZoekKlant' aan; > Show All Records > Set Field (global02, KlantRelatie::global01) > Enter Find Mode > Set Field (Klantnaam, global02) > Set Error Capture [On] > Perform find > If [status (Current Error) = 401] (= indien er geen overeenkomstige records zijn) Show Message ["Geen overeenkomsten gevonden"] > End If > Clear[select,"global02"] Maak in DB01 het script 'Activeer' aan; > Set Field (global01, inputveld) > Perform Script[sub-scripts, External: "DB02"] (selecteer script 'ZoekKlant') > Clear[select,"global01"] Maak in DB01 een button en link die met het 'Activeer'-script. In DB01 vul je in het inputveld een klantnaam in. en druk op de button. Quote
0 HeMa Posted August 6, 2002 Author Posted August 6, 2002 Super, ga meteen testen of het kan werken. Maar...wat is global01 enz....tijdelijk veld ? Kan dat ook in 4.1? Waar vindt ik een echt goed boek? Quote
0 Jimjams Posted August 6, 2002 Posted August 6, 2002 global01 en global02 zijn 'global'-velden. Dit kan je specifiëren wanneer je nieuwe velden aanmaakt via het Define fields menupunt. Eenvoudig uitgelegd zijn global-velden, velden waarvan de waarde voor het volledige bestand (dus ongeacht welk record geselecteerd is) dezelfde is. Uit je vraagstelling leid ik inderdaad af dat je best eerst een goeie beginnershandleiding leest. Hier kan ik je weinig raad in geven. Ikzelf ben er ooit aan begonnen door de Filemakerhandleiding eens grondig door te nemen. De fijnere details pik je dan onderweg wel op. Quote
0 HeMa Posted August 6, 2002 Author Posted August 6, 2002 Ben inderdaad begonnenom het verhaal eens uit te testen, maar enkele items weet ik toch niet in te geven of de commando's hiervoor zijn er bij 4.1 niet. BV: > Show All Records Show all records is er niet. > Set Field (global02, KlantRelatie::global01) global 2 kan niet ingegeven worden, klantrelate enz wel > Set Field (Klantnaam, global02) Dit lukt niet omdat ik bij setfield maar 1 veldnaam kan ingeven. Of zie ik niet alles wat er staat..... Quote
0 HeMa Posted August 6, 2002 Author Posted August 6, 2002 Jammer, maar het doet niet wat ik wil. Nogeens: In bestand 1 moet bij ingave een record worden aangemaakt de ingave in veld 1. Dat gegeven wordt opgezocht in bestand 2. Aanwezige gevonden records tonen. Verder niets. Nu springt de handel heen en weer en moet er steeds weer worden ingegeven. Ik wil de gemaakte bestanden wel meesturen maar zie hier geen optie daarvoor. Ik zal wel weer eens aan de slag gaan en kijken hoe dit simpel is te meken. In Omnis was dit super simpel maar bij FM noet je wel een echte kronkel hebben om te kunnen programmeren, maar we zullen doorgaan. Quote
0 Jimjams Posted August 7, 2002 Posted August 7, 2002 > Show All Records = de functie die er voor zorgt dat alle records in de database terug beschikbaar zijn tijdens het zoeken. (Je hebt wel gelijk; in versie 4 van FM heette dit nog anders. Ik ben echter vergeten hoe) > Set Field (global02, KlantRelatie::global01) : De eerste parameters binnen de haakjes en voor de separator (",") is het veld waarin je data wil plaatsen. De tweede parameter na de separator is de waarde die je in dat veld wil stoppen. (= in ons voorbeeld; de waarde van veld "global01" uit de andere database). Je kan deze waarde definiëren door in het scherm "script definition" de scriptstep: "Set Field (global02, KlantRelatie::global01)" te selecteren en vervolgens op de knop "Settings" te drukken. Nu kan je definiëren wat de invulwaarde van veld "global02" moet zijn. Succes Quote
0 jw Posted August 8, 2002 Posted August 8, 2002 Een goed boek: Chris Moyer schrijft regelmatig boeken over Filemaker. Zie http://www.chrismoyer.com Ander probleem is wel dat de boekhandel (in Nederland) weinig heeft over Filemaker, en vind het altijd verstandig een boek eerst eens door te bladeren. Quote
0 JeanWM Posted August 13, 2002 Posted August 13, 2002 (Je hebt wel gelijk; in versie 4 van FM heette dit nog anders. Ik ben echter vergeten hoe) Find All HTH JW Quote
Question
HeMa
Ik ben just started met FM, en heb versie 4.1 Engels.
Ik heb nu 2 bestanden.
In bestand 1 geeft met bv een woord in.
Dan moet dat woord in bestand 2 worden opgezocht.
Ik probeer met een script copy en paste, maar als bestand 2 open is
blijkt er geen paste te zijn gebeurd in het gewenste veld.
Wat is een juist en werken script hiervoor.
En....wat is een boek met goede uitleg over FM.
Het handboek is me toch te rommelig.
Ik werkte vroeger met Omnis, dat was echt een gemak.
10 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.