Jump to content
Wayne Irvine

Change field in portal row

Recommended Posts

I have a FileMaker layout with a portal to another table. The relationship shows all unassigned records (related < 1). On each portal row I have a button which runs a script. The idea is that when you press the button the a value from the main record is copied and pasted into a field in the portal row (and as a result the portal record becomes 'assigned' and is removed from the portal.

I have the button running a script and pasting the value from the main record but it is pasting it in the first portal record, not the one whose button was clicked.

Is there a simple way of having the value pasted into the portal record where the button was clicked or do I have to store the record number (or something) and paste back to that record?

Screen Shot 2017-01-10 at 6.29.19 pm.png

Share this post


Link to post
Share on other sites

Why don't you post your script, so we can see? Offhand, I would say that a simple:

Set Field [ Related::SomeField ; Main::SomeValue ]

should suffice; as long as the button is in the portal, this will operate on the related record shown in the portal row where you clicked.

Share this post


Link to post
Share on other sites

I was doing a bunch of copy and pasting etc but Set Field works first go. Thanks.

Share this post


Link to post
Share on other sites

On a further issue, how do I get the page to refresh? One portal is showing available records and the other, liked records. When I Set Field to the value of the main record it is no longer Available but is now related. If I remove the focus (click somewhere else) it updates. There must be a fucntion for this. I have tried 'Refresh Window'.

Share this post


Link to post
Share on other sites

 A button can either be set up to make an immediate, single-step action.

Or it can be set up to call a script, which takes that action plus does some other things.

Set the button to call a script, which uses the set field action you're already performing, followed by:

Commit Record

Refresh Window [ flush cached join results]

Note that it may also help to put a Freeze Window statement as the first line of the script.

Share this post


Link to post
Share on other sites

Brilliant! Thanks for that.

It's been decades since I played with scripting in Filemaker and a lot has changed.

Share this post


Link to post
Share on other sites
10 hours ago, Wayne Irvine said:

I was doing a bunch of copy and pasting

Copy and paste is in the province of the users. You (the developer) shouldn't use it, unless the script is meant to assist the user in data entry.

 

10 hours ago, Wayne Irvine said:

If I remove the focus (click somewhere else) it updates.

Clicking on the background commits the record, and that's what your script needs to do too - sorry for not making that clear. I don't think you need to do anything beyond that, unless you run into refresh issues.

Share this post


Link to post
Share on other sites
17 minutes ago, comment said:

Copy and paste is in the province of the users. You (the developer) shouldn't use it, unless the script is meant to assist the user in data entry.

Hi Wayne, to explain a bit more ... not only does copy destroy a User's clipboard contents (usually needlessly, as Comment explains) but paste requires that the field being set exists on the current layout.  Down the road, you may remove that field and cause your script to fail, forgetting that it is dependent upon that field.  No such issues exist using Set Field[].

And welcome to FMForums!  :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Who Viewed the Topic

    1 member has viewed this topic:
    Kaiviti57 
  • Similar Content

    • By Lowermountain
      Hello,
      New to Filemaker and new to this forum. Hoping someone can help me out.
      I am working on a personnel planning system with, among others, the tables Employees, Shifts and Availability. 
      tblEmployees has fields like Employee ID
      tblShifts has the fields Employee ID, Start Timestamp, End Timestamp
      tblAvailability has the fields Employee ID, Start Timestamp, End Timestamp and Status
      When in the layout Shifts I want to open a portal in a popup and I want this portal to be sorted by Availability and I want the portal rows with employees to be 'greyed out' when status = 0, green when status = 1 and normal when no Availability is given.
      I basically need to know which records from tblAvailability match records from tblShifts and then which records from tblEmployees match records from tblAvailability.
      How do I go about this? Do I need SQL?
      Hope this is a somewhat clear question. Many thanks!
    • By HJS
      L&G,
      I have read the guidelines for posts in this forum. Therefore I did not enter the Post title that came first in mind: Do I understand portals (aka do I understand Filemaker) and I do not emphasize now on being new in Filemaker issues.
      I am trying to achieve something simple at a first step of a big plan: Entering recipes in a Filemaker testversion database. 
      The longterm goal should be a database in which I can enter my collected recipes.
      Followed by tool for a weekly menu plan for my family and a shopping list coming out of the database after taking care of my fridge's stock => so far so good, but currently this is a plan for the next ten years I realized starting with Filemaker.
      I searched different apps and database programs, and Filemaker seems to be my solution as I did not find anything that fits exactly my expectations.
      So back to the first problem: how to enter my recipes?
      I created a table of recipes with an unique ID_pk (I learned already about pk and fk), Name and How-To-Make-it as well as IDs(fk) from the other tables which are Zutaten (Ingredients) with the name and the amount, Form_Zutaten (how the ingredients are used i.e. chopped, sliced, etc.) and Einheit_Zutaten (unit i.e. cup, liter, etc.). Why I have choosen this structure: because all ingredients must be combinable with different units and how the are used. otherwise I have to enter e.g. avocado sliced, avocado mashed, etc. or make rules like liquids can only be liter or mililiter or cups while flour can only be gramms etc.
      So a combination of all three tables should be possible.
      What I though might be an easy task is to create a recipe layout than with 
      recipe ID
      recipe name
      and a dynamic portal depending on the number of ingredients constisting of:
      Zutat - Form - Menge - Einheit
      in english: Name of the ingredient - how is it, which kind/form - how much (qty) - which unit
      so I related the tables via pk and fk, created the layout and bam: complete disaster.
      after needing a couple of days to make the values appearing in the dropdown (learned about the value list), some fields in the portal do show the all entries of the ingredients, while the kind/form and unit fields do always show the first value of the table?
      and although I locked the fields, the first entry is always shown and is getting overwritten by the choice I choose from the dropdown...
      and nothing is dynamic, meaning that 7 ingredients will make 7 lines and it always starts with one empty line, etc.
      I am not sure if my descriptions do make sense, therefore I am attaching my work, hoping someone could help me with how to use the portal for a convenient data entry.
       
      thx in advance!
      br
      HJS
       
       
      2017_09_Essensplan.fmp12
    • By Peter Barfield
      Is it possible to filter a portal based on another filtered portal content where a relationship exists. 
      My question stems from a scenario where I have a jobs table and a plant (being machinery) table. I am trying to figure out a way to filter a complete list of plant to only show those that are not allocated to a specific day on the job table. 
      I guess I am just seeing if it is at all possible or is there a better method to do it.
    • By DreadDamsel
      Hi, I have a bit of a dilemma that I've tried a number of solutions to sort out, to no avail.
      I have a portal that lists the participants in a class. In each row is a checkbox that can be used to indicate whether that participant has withdrawn from the class.
      I've used a summary field to count the number of checked boxes and have a field that subtracts that number from the total of records in the portal - easy peasy.
      Where it gets tricky is that, one of the fields relates to the number of children associated with a participant (a mum may have 3 kids in the class if it's one of the playgroups). Now I need to know how many kiddies there are in the class. I have a field that totals the number of children in total and that works fine, but...
      ... and here's my problem -
      where a parent has withdrawn (and the box is checked), I need to subtract the number of children associated with that parent from the total number of children).
      The checkbox is a value list with a single value, 1.
      All the solutions I've tried so far are fine unless it pertains to portal rows - and I can't figure it out for the life of me.
      Can anyone help me out?
    • By 123
      Hey,
      I have the following problem. I'm working on a solution for the owner of several restaurants. Each restaurant has meetings once or twice a month. How would I structure the tables so that I could have a layout on which I select a restaurant and then inside a portal I get a list of all employees. On the portal for each row I want to have a button or checkbox to mark if an employee is present or not.
      I already have the following tables:
      Restaurants, Employees and Meetings
      So far I have a relationship between the Restaurants and Employees table which I use to assign employees to a restaurant, and a relationship between the Meeting and Restaurant table, which allows me to show all employees that work at a selected restaurant using a portal on the meetings layout. How do I proceed to solve my problem? Do I create another table MeetingAttendees or something similar that I use to keep track of people attending a meeting? How would I create a relationship then to allow me to mark certain employees as present and absent?
      Thanks in advance,
      Mike
×

Important Information

By using this site, you agree to our Terms of Use.