La solución de Neftali tambien sirve para Firebird... En realidad el Objeto TDatabase guarda todas las tablas de la base de datos.
Si deseas tambien que salga las vistas, prueba esto:
Código Delphi
[-]
procedure CheckTablename(const TableName:string);
var Tablas:TStringList;
m :TMDOQuery;
begin
Tablas := TStringList.Create;
m := TMDOQuery.Create(nil);
try
m.Database:= dtm.DB;
m.Transaction:= dtm.Trans;
m.SQL.Text:= 'SELECT RDB$RELATION_NAME FROM RDB$RELATIONS' +
' WHERE RDB$SYSTEM_FLAG = 0';
m.Open;
if not m.Locate('RDB$RELATION_NAME',TableName,[locaseinsensitive]) then
raise Exception.Create(Format('La Tabla "%s" no existe en la BBDD.',[TableName]))
Saludos