If you've already controlsource of the texboxes set to the DD_ecrappdwg fileds, you don't need to assign value. Just issue in the grid's afterrowcolchange (as Jim Suggested).
Thisform.Refresh()
>Sergey,
>
>I got a solution to work with your suggestion, but one problem surfaced.
>
>I added the following statements on the AfterRowColChange
>
>Thisform.pfrTasks_Dwgs.pagDwgs.txtAr_emh.Value = DD_ecrappdwg.rd_emh
>Thisform.pfrTasks_Dwgs.pagDwgs.txtAr_ecd.Value = DD_ecrappdwg.rd_ecd
>
>This put correct data from grid (ActiveRow) into the two Text boxes.
>
>Since the Text boxes have ControlSource set to DD_ecrappdwg (for editing the field values in table record), when I cursor to the next Form table record (dd_ecr table differs from Data source for grid dd_ecrappdwg), I do the following code:
>
>RETURN GETNEXTMODIFIED(0,"DD_Ecr")<>0 OR ;
> GETNEXTMODIFIED(0,"DD_Ecrappdwg")<>0 OR ;
> GETNEXTMODIFIED(0,"DD_Ecrapptsk")<>0
>
>If this returns .T. then a "Save Changes?" dialog pops up. Even though I've made no other changes in Form controls bound to underlying tables, I get the Save Changes dialog. Somehow the setting of the values in the Text boxes to control source tables, forces GETNEXTMODIFIED() to return .T. even though I'm not changing Text box values; hence NO change to underlying table field.
>
>What do I do here to get correct grid row value into Text box while NOT making the buffer/table appear changed?
>
>Fred Z
--sb--