Hi Mel:
>It seems like when I first wrote this app I was under the assumption that it would be >easier to switch down the road to SQL Server if I designed the forms using local views.
I didn't say so before; it did cross my mind to mention it but, this is probably the single biggest reason why local views are/were advocated - the potential of upsizing to SQL server later.
>Am I in mistaken on this one?
Not really; I believed this too though it never actually happened. I am using SQL server for my own backends nowadays but, there's not a single local view I ever used that would have easily upsized without a fair degree of refactoring - unless, of course, the data set was extemely basic and straighforward. If you use tables in Codemine, it is really easy to keep the same cursor name and just change the datasource (to a remote view name). Your forms need never know the difference. Codemine uses a kind of "set" mentality even with native VFP tables. It uses its cmCursor::SELECT command that groups related data effectively using VFP's SET KEY TO in the background. If you are letting CM handle the requerying of related data sets and you haven't go too many REQUERY statements of your own, using a table now and switching to a remote view or SQLPT cursor later is relatively easy in CM.
HTH
-=Gary