There is no way to do this within the Delphi VCL. Seems like a pretty serious omission to me. However, it is possible to do it by talking direclty to the Borland Database Engine through the interface provided by the DBIPROCS and DBITYPES units. You call DbiDoRestructure, but set all the "number of" virables to zero, which makes it leave the existing values intact.