La verdad es que la forma de preguntar el estado de un Dataset, yo lo hago siempre de una de estas dos formas:
Código:
if Dataset.State in [dsInsert, dsEdit] then ....
o tambien puedes usar esta otra forma:
Código:
if dataset.State in dsEditModes then ....
Por otra parte, da igual donde pongas el Datasource o la tabla, siempre y cuando pongas los "uses" correctamente. (En lugar de añadir el uses en el apartado de Implementation, ponlo arriba del todo)
Si tienes la tabla en otro lado, y teniendo los uses bien definidos, siempre puedes acceder al dataset de esta forma:
Código:
if DataSource.Dataset.State in dsEditModes then....
Un saludo