Skip to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Apple Contacts > FileMaker Pro 18 advanced

Featured Replies

  • Newbies

This is my first visit to this site so hope it's posted to correct forum. I have used FPro for many years but not in the past few so am not up to speed (forgot more than I knew)

I exported Apple Contacts (Sequoia 10.15) to FPro 18 advanced (via excel). Objective is to have a close replica of an Apple Contacts record in print.

records: 415 comprised of about 185 fields! Most are not on each record (Contacts allows custom labels for phone numbers so each exports as unique field and may only be on 1 of the 415 records.

PHONE: 100 fields; EMAIL: 25 fields; ADDRESS: 30 fields; URL: 6 fields; RELATED: 15 fields; PRIMARY: 1 field; COMPANY: 1 field; FIRST NAME: 1 field; LAST NAME: 1 field; DEPT: 1 field; JOB TITLE: 1 field; MAIDEN NAME: 1 field; NICKNAME: 1 field; BIRTHDAY: 1 field

Of the 100 PHONE fields how do I only display the 1 (or more) applicable to that record? Also applies to ADDRESS fields that actually comprise of separate STREET, CITY, PROV, COUNTRY and PCODE fields?

I am struggling to visualize your description of the exported Excel document. If there are 100 columns for phone in every row and only some of these are populated in each row then the correct way to import this data would be to perform 101 individual imports: first import the contact details (names, birthday, etc.) into a Contacts table, then import each individual phone column along with a contact's unique ID into a related Phones table. Same for URLs and anything else that a single contact can have many of.

This can be scripted but it would take an awful lot of work. What's worse, this work may not hold for the next import if the position of a column can change as the result of adding new labels or deleting old ones.

10 hours ago, MrsRuth said:

Of the 100 PHONE fields how do I only display the 1 (or more) applicable to that record?

If you have already imported all this data into a "flat" table (i.e. a single table with 185 fields) and you are only looking for a way to display it (more correctly, some of it) you could define a calculation field along the lines of:

Let ( 
phones = List ( WorkPhone ; HomePhone ; MobilePhone ; ... )
;
GetValue ( phones ; 1 )
)

This will display the 1st populated phone field for each contact (the List() function skips empty values).

Note that for printing you could just stack all those fields on top of each other (or side by side) and set them to slide:
https://help.claris.com/en/pro-help/content/removing-blank-spaces.html

10 hours ago, MrsRuth said:

Also applies to ADDRESS fields that actually comprise of separate STREET, CITY, PROV, COUNTRY and PCODE fields?

I think you could simply use merge fields for this:
https://help.claris.com/en/pro-help/content/merge-fields.html

Edited by comment

  • Author
  • Newbies

Indeed, I don't know why I didn't separate the tables and make relationships!

Reconsidered importing to FPro and decided to cleanup the Contacts and screen capture for print. The initial print job will be all records but from then on, will be a few. May reconsider at another time. Thanks

If all you want is to print the contacts then Filemaker is probably not your best choice. Try asking Google how to "pretty print vCard file".

If in the future you decide to actually migrate your data to Filemaker I think there may be a relatively easy way to do this by adopting the EAV data model. Basically it would just be a single parent-child relationship with the child table housing phone numbers, URLs and anything else a contact might have multiple instances of. However this depends on how these entities are named in the source - i.e. whether the imported field name can be used to determine which category the data belongs to.

Edited by comment

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.