Ok, from the range of answers I got back so far, all of which I appreciate greatly, it is clear that I need to clarify my project and goals just a bit in order to narrow the width of the discussion.
Here's the situation and the parameters:
1) I have a client that is still using a btrieve based dos system that I created 20+ years ago to keep up with the names, addresses and activities of in excess of 30k+ members. The system creates a lot of specialized reports for the client and they have been unwilling to move to anything else because of all the custom functionality built into the system. (In case you are wondering, they are running the system on virtualized XP Pro systems as the verision of btrieve they have dies on anything later.)
2) I want to upgrade them to a VFP9 + Windows user interface and application in order to get them off the virtual machines, to take advantage of a lot of the speed and features available in VFP9 and I could certainly completely re-write this system in VFP using native dbf table if I chose to do so. HOWEVER.
3) In the long term, I can see a future for this client where they have a web-based front-end for members of their group to login remotely via the web and maintain their demographic data themselves thereby de-centralizing a lot of the data entry process currently done by the home office.
4) Plus, I want the best of both worlds. I want the users in the central office to take advantage of all the functionality I can bring to them with VFP9 as a networked desktop application AND at some point I want to add a web-based front-end for remote users to update various data points.
The final requirement is not really a requirement but a desire on my part to learn how to best handle the data entry process and build the user interface functionality in VFP9 to create a desktop application using SQL as data storage. I am used to creating a form with a tabbed pageframe on it, creating a data grid on the first tab, adding some filter capabilities for searches and then putting all the fields on the second or third or fourth or however many detail tabs I need to conveniently display the data I want the user to edit, add, delete or save through a sub-classed button bar that I drop on the form and connect to the table in question. My sub-classed tools use CURSORGETPROP to detect any changes and prompt the user to save the buffered changes if necessary.
I have come to the understanding from all I've read that this method of providing grid based data entry screens for users (while perfectly workable in my data interface projects) will not be as efficient when it comes to using SQL instead of native DBFs. I have also read lots of different opinions on how best to let the user search for the specific record they want to use and I have tried to review as many programs as I can to get some sense of the generally accepted method that makes the most sense for a best practices user interface but no joy so far. Once a user finds the record in question, I need to figure out what code snippets I need to build to detect changes and push the updates back to the SQL database and all the other stuff that goes along with that.
My hope was that someone could point me toward some good VFP examples or articles specific to VFP that outlines the best practices that seemed to work best. I am not interested in moving to a development tool other than VFP9, because my personal goal in doing the project is to give me a way to learn to program the best user interface I can with VFP as the front-end and SQL as the backend.
Hopefully that clarifies my original question just a bit.
Paul H. Tarver Tarver Program Consultants, Inc.
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---