First, see "Editing record access privileges" in FileMaker Help and check out this particular sub section: "Entering a formula for limiting access on a record-by-record basis".
Then, you have options. For example, your layout with Mfr and ModelNumber might be two global fields. Your user enters data into these two fields and then scripts, calculations and relationships control what data they see in portals and popup windows.
You can also set up a "record lock" calculation that limits the user's access to only records that meet a specific criterion such as an Account Name, a unique serial number (such as a Model Number) or some such.
Thanks so much for your prompt and thorough answer!
I'll give it a shot and report back - sounds like that's what I'm after. Eventually I want to set it up as a mobile app that simply submits xml or php queries and gets a few standard text field calcs back from FM Server.
But, baby steps - first I need to figure out how to lock those privileges down.
Thanks again - I'm getting a lot closer - my idea right now is to "record lock" to only the current record number.
I'm trying to complete a really simple calculation that for "Records can be viewed when" on a viewing custom permission:
Get (RecordNumber) = [???? current record number]
I am barking up the right tree? I'm thinking locking the view to ONLY the current record number being entered would be a fairly foolproof.
My alternative plan would involve allowing a user to automatically setup a username/pw with default low-level priveleges... is there any sort of mechanism for doing that?
One other Wile E Coyote idea - since this is going to have a web app front end, couldn't I just enable regular read/write data-entry permissions and then only have a "Create Record" button and leave off any record navigation buttons... that way you'd just be stuck looking at the current record.
Get ( recordNumber ) is not the correct function. Either use Get ( RecordID ) or define an auto-entered serial number field. Get ( RecordNumber ) is the current relative position of the record in the current found set so this value is not one that you can use for this.
You can use set field to copy either the serial number or recordID to a global number field or use Set Variable to copy the same value to a $$GlobalVariable. Your lock expression can then compare either Get ( RecordID ) or the serial number field to your global field or global variable.
But I think the global field based layout would be less work to set up in most situations.