Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 496
  • Last Modified:

Using FilemakerPro, How do you polulate a field in table B with values from a field in table C.

I have two tables related by ID#. I want to add a field in Table B and populate it with values from a field in Table C based on the ID#. I don't know if Calculate is better or Look-up. I don't expect the existing values in the field in Table B to change but more records will be added.
0
maryj152
Asked:
maryj152
  • 3
  • 3
1 Solution
 
Will LovingPresidentCommented:
Hi Mary - In most circumstances I think it's preferable to use the Auto-Enter Calculation option over Lookup. Lookup and Re-Lookup can draw values from a related table but, if remember the ver early version of FileMaker, the Lookup was basically the predecessor of Calculation option and it kept primarily for backwards compatibility and a small number of specific uses.

The Auto-Enter calculation option is more flexible because you can not only specify a single field that you want to auto-enter a value from (which is what Lookup does) but you can also specify conditions, use If statements, include other field values, etc., anything you can do in the calculation dialog. So, for example, you might put in something like this:

If( not isempty( ItemID ) and not isempty( Quantity ) ; Quantity * Price )

This calc will only perform the auto-enter when both ItemID and Quantity have values.

In addition, Auto-Enter Calculation option also includes the ability to have the value be updated automatically if something changes via the "Do not replace existing value of field (if any)" checkbox.

Do not replace existing….
This checkbox is ticked by default, meaning that once the field has a value, the Auto-Enter calc will no longer be applied. If you uncheck it as above, the value in the field will be updated anytime one of the referenced fields in the calculation changes. This is extremely useful for when you need to have an indexable Number or Text field based on a calculation but the calculation itself is not indexable. Using the Auto-Enter option with the checkbox unchecked means that the field will be updated like a calculation field but will be indexed so it will produce quick results or can be used in a relationship.
0
 
maryj152Author Commented:
so what I would do is
unsorted, from bldg to cat, = IF (bldg::ID# = cat::ID#; cat::oclc = bldg::code;)
0
 
Will LovingPresidentCommented:
If the relationship is based on ID, then all you should need in the calculation is the name of the field in Table C that you want to auto-enter into the local field. I think the IF statement is superfluous; if the relationship is based on ID then if the relationship is valid the field should auto-fill, and if it's not it won't.

One additional tip: avoid using characters like # and other punctuation in field names. It can cause problems in calculations.
0
Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

 
maryj152Author Commented:
How do I fill in about 150,000 records in the Table C after adding the new field?
Thanks for the tip but that was not the field name, just used it to make question shorter.
0
 
Will LovingPresidentCommented:
You can populate a field for a found set or all records by using the Replace command form the "Records" menu.

1. Go to a layout that has the new field on it.
2. To do this on all records, select "Show Al Records" from the Records menu.
3. Click in the new field, and then select "Replace…" from the Records menu.
4. In the Replace dialog, click on the "Specify" button next to "Replace with calculated result:"   and enter the related field or calculation that you wish to use (the same one you set in the Auto-Enter)
5. Click the "Replace" button

Note that there is no "Undo" for the replace function. In this case you're using it on a new field that has no previous value, but if you use it on a field that does have a value, then be sure you have a backup in case your calculation is wrong. If in doubt, just create a test field first.

Replace dialogSpecify calculated result for Replace...
0
 
maryj152Author Commented:
Thank you. Directions were very clear.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now