>What is the difference between putting code in a form and having the code in a prg as far as OOP is concerned? I thought it would be the same.
The biggest difference comes into play if you try to use forms with private datasessions. If you create any objects in your .PRG before you call your PD form, those objects will be in a different datasession from the form and can't "see" the tables in use by your form. It all boils down to OOP concepts, which from your descriptions of problems with forms sounds like you need a better understanding of that before you can really continue and design things properly.