ArcGIS should allow the ability to permanently reorder fields in a table

04-20-2010 01:33 PM
New Contributor II

After creating a feature class, it would be convenient to go back after data input, and make changes to the field ordering (position).

If your Feature Class is an SDE Feature Class then this can only be done if the underlying RDBMS can support changing the field as you described. If the RDBMS does not support altering an existing field then there is nothing ESRI can do other then actually creating a new field with a new name, calculating the new values and then dropping the old field. What if you are converting from string to number and the conversion fails? The RDBMS usually will roll back the whole update query. It might be done using small groups of records or record by record but this would be very slow for large tables. If you wanted to keep the same field name then the existing field name would have to be changed so the new field (with the new type) can be added. If the RDBMS does not allow an existing field to be renamed you could not keep the same field name without creating the field twice. If this field was a foreign-key to a field in another table I don’t think the field can be dropped without removing the foreign key constraint.  This could be very problematic to implement. This might only be possible if the Feature Class is stored in a File GDB because ESRI has full control of its implementation. It’s really only possible if the RDBMS can do it and then there is the question of keeping the user experience the same across all GeoDatabase implementations.
It would be nice to be able to easily rearrange fields too, without having to create a new output feature class.
Both of them are really good ideas.
I have been looking for this to happen for years.  If it is in SDE (on SQL Server) or a Personal GDB then it can be done in MS SQL or MS Access respectivly, but for Shapefiles or the File GDB you are out of luck.  I refuse to use the new File GDB for this reason (and the field reordering, but that is a different issue).
For file geodatabases, this would be a very handy feature during prototyping when I frequently find myself correcting oversights and other initial design errors.
 Promoted this to 3000 Points. I think this is a feasible idea.
For shapefiles can be used free Czech software Janitor ( The program JanDat can change the name, field type and some properties dbf  tables and dbf tables belonging to shp. I also was looking for a Python module, which could change the structure dbf table, but I found only a useful module for dBASE III. (SHP uses dBASE IV :).
Although I like the idea of this, I think takes just as much time to create a new field and copy the data over.  There are also further complications when changing data type.  If this was added I see it as a time cost that would take longer than just creating the new field and populating with the calculator.
The ability to rename/update an existing field or reposition the placement of a field within a table are commands that were extremely useful in Arc/Info Workstation.  It would be so nice to have this functionality in ArcGIS Desktop. 

Likewise, the ability to add a new item to a table and designate it's placement in that table (the old Arc/Info ADDITEM command) is greatly missed.  Please add these to Desktop.

Changes to field name, field type and field position is also very much wanted for Shapefiles.
Using a Czech software for such a common task is just a work around.