That's a great question, James, and I look forward to reading the subsequent replies as I, too, would like to know the answer.
In the meantime, maybe this related idea might also generate some added discussion.
The SalesLogix CRM that I've been using for 10+ years (which I'm now using as the "prototype" for an FMPro replacement database) employs a pop up menu window when you right-click inside of the "sub-form" portal area. One of the options in the menu list is to "Add a New Record." If selected, the "script" will open a new blank "data-entry" window with all the fields contained in the "child" table. Upon completion of your data entry, you click "Ok," then click a "Refresh" button and then the new record is listed on the first row... or a different row if the "sort order" is not based on date.
Personally, I like this so that the first row isn't blank. Also, as I think about your question (but don't know this for sure), I'm wondering if there might be extra coding steps required in order to keep that first row open compared to using a script to call or open a new portal record.... But haven't gotten that far into the development testing yet.
So, thanks for posting your question and hope to hear back from many of the "gurus" on what they think would be a "best practice" for this U.I. (user interface) feature.
You got a good suggestion from Bill. Another way is to create a separate relationship for creating the new record. I call it create related records without leaving home. Yea long title.
The relationship is based on a global field in the parent side connected to the primary key in the child table.
For example: company (parent) -->phone/email (child)
The script is simple.
Clear the global
Set the company ID into phone/email
Goto field - a field in the portal in this case it could be type
Goto portal row last
Goto field - same as above
After the commit you can set any number of fields. This relationship also doubles as a way to specifically address a specific portal row.
Sent from my windows 8 phone
No, but it would be an interesting Feature Request
in the portal relation, you can uncheck "Allow Creation of Records"
then create a script, and button, to "add record" in the related table
then sort the portal, so the new record appears on top, by timestamp or serial number
> Is it possible to "reserve" the first row for adding new records instead of the last row within the portal setup environment.
"Is it possible to "reserve" the first row for adding new records ?"
Yes, with a trick and the new filtered portal.
IOW: you'll have two portal, one with multiple rows,a scrolling bar and not allowing creation of new records by relationship. The second ( the filtered one ) with only one row and allowing creation of new records by relationship: its calc for the filter will be: ID<>ID.
Result: entering data into the one row portal will create a new related record. On commit, it will vanish from that portal, leaving the portal empty for another new related record.
( I'm sorry for my English)
DataEntryPortalRow.fmp12.zip 59.7 K
That is a brillant word-around by creating 2 TOs with different rules! And I understand your English perfectly though I don't quite know the acronym for IOW
And thank you all for your ideas and contributions.
Daniele, using your great technique. Can more than one field be filled in using a script?