Jump to content
  • 0

Copy en Paste


HeMa

Question

Posted

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

  • 0
Posted

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.

  • 0
Posted

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.

  • 0
Posted

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.

  • 0
Posted

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?

  • 0
Posted

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. :D

  • 0
Posted

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

  • 0
Posted

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.

  • 0
Posted

> 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

  • 0
Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...