>In what event do you set excl off in the Main Form?
I actually have a PRG I call SetSets which sets all this stuff. I call it from the Load method of my base form class, and when necessary, from the BeforeOpenTables method of the form's data environment.
>Iam using private session in main form then default in subsequent forms.
>
>But I'am having problems with record positions when going from form to form. (not positioned on the same record.
>
If you're not using private datasessions on the subsequent forms, then something else must be going on to move the record pointer. I haven't tried this out, but I suspect that if you put the tables in the DE of each form, and leave AutoOpenTables set to .T. that is might be causing this problem.
>I don't think I'am using buffering. where do you specific it? and what type should I use?
There are a couple of places to do this. You can set the BufferMode property of the form (I'd use "Optimistic") and leave the BufferModeOverride of the tables in the DE set to 1 (Use form's setting). Or you can change the BufferModeOverride setting on each table in the DE. For grid's I'd use Table buffering, otherwise, I like to use Row buffering.