Debes aclarar varios conceptos:
1.
Debes aclarar qué es, "limpiar un grid", "limpiar una tabla", "limpiar una consulta", "limpiar un grid de una tabla".
"Limpiar un grid" es que ya no se vean registros en el formulario que contiene la cuadrídula.
"Limpiar una tabla" es que el DBF no tenga registros (con un BROWSE se vé si tiene registros o no).
"Llimpiar una consulta" es que los registros que contiene una consulta hecha anteriormente ya no estén a partir del momento en que la "limpie".
"Limpiar un grid de una tabla".... considero que está mal dicho, pero tú probablemente quieres de decir con ésto lo que dije en "Limpiar un grid".
Con Thisform.Grid1.RecordSource="" no estás "limpiando registros"; estás diciendo que la cuadrícula ya no está basada en el cursor (o DBF) en que estaba basada hasta antes.
2.
Voy a responder como si estuvieras hablando de "limpiar los registros que se ven en el grid".
La respuesta a ésto es lo que te indica Antonio: "hacerle ZAP al cursor ligado al grid". (y REFRESH al grid o al formulario, con uno de los dos es suficiente -debe serlo, por lógica de programación--).
3.
>>> ya que no hace nada, no ejecuta el codigo..
No sé que quiere decir ésto.
Chao.