What is it that you think is being mimiced? The storage of data is different from the presentation and ability to change that data. If you add a serial number to a transaction, whether you have FileMaker or Oracle, somehow you need to modify the screens that accept input for that transaction and add the serial number, right?
Nope. Or at least not always or even by default.
In FileMaker you can add a serial number that auto-increments for each new record without having to modify a single screen.
You can change the name of every single field in the table without having to modify a single screen.
Or script.
Even external files of completely separate solutions that just happen to reference a table in this one need not be touched in order to “just know” about such a change.
You can change how a relationship works without changing anything in the GUI or within the scripts. (now if you change a nominal relationship so that it now aims at a totally different TABLE, that’s a different story).
Well, in the example I was giving, the serial number is barcoded on the product, it needs to be scanned into the system (the idea being that there is some additional piece of data that needs to be captured for this transaction that is also used by a different application/database downstream).
Working from this example, how would you add something like this into your system using FileMaker, specifically how is it easier than in other environments?
Okay, now I’ve got it. It’s like Access with an integrated GUI/reporting engine. I still don’t see how the above works though. If you change the name of the CLIENT table to CUSTOMER, I understand that FMPro can update it’s internal references (Access will do the same thing), but how can FMPro reach out to the external service and update it? Does it just maintain an internal translation table where CLIENT=CUSTOMER?
Low level table IDs don’t change, and the external system (assuming it is ALSO written in FileMaker) uses those and doesn’t care what name you give to a table. As long as it’s really the same table, it still still be pointed at it.
Same for field names. If your archiving company changes from “Arcus” to “Iron Mountain” you can change the field ArcusID to IronMtnID and click “Done” and move on to the next task.
Still curious about your response to this AHunter3.
You stated that environments that use Oracle, etc. have to mimic or duplicate work, but your example was between specifying storage of data and specifying where data appears in the application, which are 2 separate issues.
If you need to add a serial number to the database and to various application screens, how can FileMaker eliminate one of those steps, it doesn’t know which screen you want the new field to be used as input and which screens it should appear as output, so I don’t understand what needs to be mimiced.
No, you’re quite right about THAT. If I am adding a field that has to receive user input, I bloody well have to add it to the relevant layouts (GUI screens that end users see and use) so they can input into them.
OK technically speaking FileMaker DOES by default automatically add new fields to the layout you currently have open if & when the table to which you are adding those fields is the table whose records are being displayed by that layout. But I’m not going to tout that as a FileMaker advantage, as I find it a very annoying feature, one that I immediately disable in preferences. I don’t want the damn field added to the layout by default. It won’t add it to the right place on the layout and more often than not the fields I create are not intended for the GUI anyhow.
But if the existing relationship between Table A and Table B is currently Serial Number in Table A = Foreign Key in Table B, I can change the rel to include the provision that (constant field) One in Table A also equals IsActive in Table B (thus all the inactive Table B recs cease to be tied to Table A via that particular relationship); and once I’ve done so I don’t need to search through dozens of scripts and modify each of them. In Oracle, reports would exist as saved queries in a reporting environment and I would have to search ALL of them for places where I had done a SELECT for fields in Table A and Table B where Serial_Number in TableA = Foreign_Key in TableB, and edit each of them so as to include the provision that TableB.IsCurrent = 1.
In FileMaker, the reporting environment and the data storage and searching environment is a unified system. But the GUI can’t magically intuit what you want to do with new fields and etc so there’s still work to be done in Layout Mode if you are making changes that involve adding new fields for end users to see and/or type data into, and I did not mean to imply otherwise.
I’m not following what you are getting at here. In the serial number example, it was just an additional data element added to table A in this system (and in another system as well as some intermediate interface tables). Of all the places where data is selected from table A, I would go to a small subset of them and add the new field into the select and into the UI.
Not sure what the IsCurrent=1 is getting at (sounds like you are saying some rows are active and some aren’t, but wouldn’t that condition exist prior to adding additional data elements?). I understand you are specifying a conditional relationship, but I don’t see how that is reducing work from an Oracle env. Is it because you specify that rule within your schema instead of within an application framework?
Yes, it’s because I specify that rule within the schema (in one place) rather than within a reporting (external application) framework where it may require editing in many places.
There actually is a home version of it - which is, interestingly, free. I have it on my work laptop, as a way of practicing, trying out SQL, etc. I could develop a PC-based app using it as a back-end. I haven’t investigated the legalities of marketing such a tool (of course for that to be an issue, I’d have to have a marketable concept!). There are certainly some restrictions.
The commercial version is very, very widely used (my last 3-4 clients have all been Oracle-based for example).
Yeah, I wish they’d make the freebie version available for MacOS X. I can install MySQL and PostGres but if I want Oracle I either have to pay for it or stick it on a PC instead.