This example code snippet works for most SQL-based databases - including MSAccess. It's not 'model code' but it works for me.
sz := 'INSERT INTO ' + fUserTableName + ' ';
sz += '(name1,name2,name3,birthyear,height,heightunit)';
sz += ' VALUES (''%s'',''%s'',''%s'',''%d'',''%d'',''%d'')';
sz := Format(sz, [fUsername1, fUsername2, fUsername3, fUserBirthYear,
fUserHeight, fUserHeightUnit]);
SQLQuery.SQL.Text := sz;
Try
Try
SQLQuery.ExecSQL;
SQLTransaction.CommitRetaining;
Except
on e: Exception Do
SQLTransaction.RollbackRetaining;
End;
Finally
SQLTransaction.EndTransaction;
End;