can i Do Something like this?:
dbInsert.SQL.Text := dbCalc.SQL.TEXT
dbinsert.Append ...
...
dbinsert.clear
then repeat it if i need again
Yes. But you would need to open dbInsert, then dbInsert.Insert, commit and close the dbInsert.
Or you could use dbInsert.SQL.Text := 'INSERT INTO ...' etc for direct insertion and use dbInsert.ExecSQL.
In that case there doesn't have to be a complete dataset opened.
It depends on what and how you do things in the modal-form.
If you use DBEdit components there, it's easier to use dbInsert with a dataset (and open and close/commit).
If you don't use DBEdit components and just create an INSERT INTO statement you can use dbInsert.ExecSQL.