I've discovered a potential issue when trying to run existing VFP6 code in VFP8. In joining two tables, I was looking for records in table A that had no corresponding record in table B. Here is the code in VFP6:
SELECT cs.* FROM CustSer cs LEFT JOIN Contlist cl ;
ON cs.CustSerID = cl.CustSerID ;
WHERE cs.CustSerID # cl.CustSerID
This returns an empty result set. In VFP8, I needed to have it like this:
SELECT cs.* FROM CustSer cs LEFT JOIN ContList cl ;
ON cs.CustSerID = cl.CustSerID ;
WHERE ISNULL(cl.CustSerID)
The VFP8 code likewise will not run correctly in VFP6, even though I set ENGINEBEHAVIOR to 70.
I realize I could use a sub-select query, but the time it takes to run is unacceptable (20 minutes).
Has anyone else noted this behavior and whar are my options for migrating to VFP8 with exiting apps?
Duty is ours, the results are God's - John Quincy Adams