Hiya Mike ----
WAR (Wild-ass rumor) has it that we may be able to bind ADO recordsets to grids, lists, combos real-soon-now in VFP. That would help a *lot* IMHO.
>1. Grids (actually, there are some ways to use grids, but they'd basically be very VFP specific and slow.)
>2. The Data Environment
>3. Binding Directly to Fields
>4. The Report Writer (at least to directly print reports from the front-end.)
>5. Direct calls to WAIT WINDOW, MESSAGEBOX(), etc. in the enforcement of your business rules.
>6. The DML in the UI tier. That's right, no REPLACES, SELECTs, SQL, etc. in the UI tier. All of that has to take place somewhere else.
>7. Comboboxes & Listboxes with a RowSource type of fields, alias, SQL statement or query.
>
>I'm sure there's more, but you get the idea.
>
>Moving all of the code that actually does data manipulation out of the UI tier isn't that big of a deal, data binding is still the toughest IMO. There may be other options but your basic choices are ADO, SCATTER NAME, business object properties, SetField & GetField methods at the business object level, arrays and/or a field object. I suppose memory variables are also an option. Switching to any of these mechanisms is not trivial if you're used to working with the native DE and binding directly to fields.
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05