Hallo,
SELECT 1 FROM rdb$relations where rdb$relation_name = :TableName
if Qry_DataVersion.RecordCount = 0
Das passt nicht !!!
Prinzipiell nie !! auf RecordCount prüfen ...
Existiert die Tabelle, wird 1 zurückgegeben -> RecordCount=1
Existiert die Tabelle nicht, wird NULL zurückgegeben -> RecordCount=1
Du musst auf nach dem Open auf Qry_DataVersion.Fields[0].AsString='1' prüfen !
Ausserdem fehlt ein Transaktions-Management,
sonst kann es passieren, die Tabelle existiert,
aber der Generator nicht.
DB.StartTransaction
try
finally
end;
Heiko