There's more to experience when you log in!
WARNING: choose the anchor point carefully when rotating; you will use this same anchor point later when reversing the rotation.
Select Col_Name, Min(Row_Name) "MinRow", Max(Row_Name) "MaxRow" from Grid group by Col_Name into GridRowMinMax
Select Col_Name, MinRow, MaxRow, Int((MaxRow-MinRow)/2)+MinRow "MidRow" from GridRowMinMax into GridRowMinMaxMid
Select * from Grid, GridRowMinMaxMid where Grid.Col_Name=GridRowMinMaxMid.Col_Name And Val(Grid.Row_Name)=GridRowMinMaxMid.MidRow into MiddleGrids
Update MiddleGrids Set obj = CreatePoint(CentroidX(obj),CentroidY(obj))