With loForm.Grade .Width = 650 .Visible = .T. .RecordSource = "" Set Safety Off Select * From MyTable Into Table MyCursor Set Safety On .RecordSource = "MyCursor" .ColumnCount = -1 .ColumnCount = 4 With .Column1 .ControlSource = "Field1" .InputMask = "9,999" .Width = 100 .Header1.caption = "1" EndWith With .Column2 .ControlSource = "Field2" .InputMask = "999.99" .Width = 100 .Header1.caption = "2" EndWith With .Column3 .ControlSource = "Field3" .InputMask = "999,999,999.99" .Width = 100 .Header1.caption = "3" EndWith With .Column4 .ControlSource = "Field3" .InputMask = "999,999,999.99" .Width = 100 .Header1.caption = "4" EndWith EndWith DoDefault() loForm.Grade.Column4.ControlSource = "Round(Field2 * Field3,2)"Observe o DoDefault() antes de atribuir o valor a coluna. Se eu colocar o comando com o "Round(...)" acima desta linha, o erro continua a aparecer. Se eu colocar depois (como no exemplo) o problema não acontece...