Tabular Forms, Tabular Forms... ahhhhhhhhhh. I think we need a sub-forum just for Tabular Forms, or perhaps a way to filter out Tabular Form questions from this forum. Why does everyone gravitate to them? Is it an Oracle Forms thing? There are so many limitations to them including:
- small subset of item types
- optimistic locking if you roll your own tabular form.
- even if you handle optimistic locking the chances of a collision between users increases exponentially
- add even a few select lists and the HTML page size (in kb) balloons
- validations are a huge hassle
- for validations to work, you really have to work with collections
- they're ugly... really, really, ugly. show me a tabular form on amazon, google, yahoo, facebook, myspace, blogger, flikr, etc
- they only really "work" on one table
- they don't promote using PL/SQL apis to encapsulate business logic
- they've been linked to cancer.
I know people have come up with a lot of creative solutions to address most of these issues such as ApexLib, instead-of triggers, massive blocks of PL/SQL for validations / optimistic locking / collection handling. Am I the only one who has this opinion? I feel like the only one who tries to steer people away from them, especially when the questions starts out with "I'm new to APEX...". I see a lot of great answers to these questions and I commend everyone for the experience and creativity, but personally, I would like to see more of steering the new APEX users away from them until they get a little more comfortable with the basics. Maybe I just need to take a few days away from the forum.
(now where did I put that Nomex suit again?)
I think you know my feelings about tabular forms (I seem to recall a discussion in a thread somewhere not too far from this forum)! I would say that I'm 50/50 about their use. In many instances, I do as you do - let users have single-record forms for creating/updating data. However, they are useful in several situations (for example, Timesheets where the user needs to see multiple records at one time). Not having come from an Oracle Forms background, I wouldn't say that it's because of that - though, of course, there other applications that use similar functionality.
Oh well, I guess we each have our own way of doing things!
ps - yahoo does do tabular forms - or, at least, they have that functionality within their YUI (there's even a thread on here about integrating it into an Apex page). Google, to me, only has one field - Search :D
Thought I'd throw my 2 cents in since I actually just posted a tabular form question myself....
I think it comes from both Oracle Forms and Excel. People are so used to seeing all their data lined up next to each other that they think it always has to be that way. Regardless of my explanation to people that virtually any website they go to where they fill out a form is not in tabular format, they don't like the explanation. I setup a form yesterday as part of a demo and immediately the response was "Well I like seeing all my data on the same screen together - can't you just make it like Excel"? It finally took me showing them 30 fields all next to each other for them to come back and say "Uhhh yea that does look kind of bad - just go back to what you had before"
Unfortunately they are still a huge pain in the ass working with and I hate them. Unless you are doing the simplest of tasks I think the built-in tabular forms are useless so you end up having to do them manually anyway.
I think you are right. I also share your opinion in the most of the details except those related to cancer and ugly :). But what I also know is that the most of my customer wouln't consider using apex if there would be no feature like tabular forms. At least the half of the projects I did so far were replacements of some internal applications running in access or even excel and without a possibility to emulate tabular updates apex simply wouldn't have a chance. ;) And if you take more than just a few days away from the forum and come back once the version 4 is there, you will probably notice that there is even more of that stuff arround:
- updatable interactive reports
- enhanced support of tabular forms
I am convinced this is the right way to go - those popular feature needs to be enhanced. This way apex is going to gain even more popularity and eventually completelly replace Access.