The Access External Soil Database functions allow you to either import data contained in an external template soil database, or attach to the tables in an external template soil database.  The main reason you might want to import from an external soil database is that you have downloaded an updated template database, and now you want to import the soil survey data that resides in the older template database you had been using.

There are fewer reasons to attach to the tables in another template soil database.  When you attach to the soil tables in another template soil database, the existing soil tables in this template database are first dropped and then replaced with references to the soil tables in the external template database.  We originally provided the attach capability as a way for a person to be able to generate FSA-CRP data (See the section titled “FSA-CRP Data Generation” for more information.) without having to bring their existing soil survey area data into the updated template database.  There may be other scenarios where attaching is favored over importing, but in general, importing is likely preferable.  Note however that, with a couple of exceptions discussed in the section about “import and attach caveats”, most functions that run against local tables also work with attached tables.

Attaching to soil data tables in an external template database, or importing data from an external template database, is accomplished by running the macro named “Access External Soil Database”.  This macro displays a form with one data entry blank, and three buttons: Import, Attach and Cancel.  In the blank, you enter the fully qualified pathname of the external template database you wish to access, e.g. “D:\soils\data\NE079.mdb”.  After entering the external template database pathname, click the appropriate button.

The Import button attempts to import ALL soil data that resides in the external template database.

The Attach button attempts to attach to the soil data tables that reside in the external template database.

The Cancel button simply closes the form without attempting to import or attach.

When importing from or attaching to the tables in an external template database, the following checks are always made.  If any of these checks fail, the import or attach process is aborted.

1.  The external database format (corresponding MS Jet engine version) must be compatible with that of the local database.  The local database is the database where you are running the import or attach process.  For example, an Access 97 database cannot import data from an Access 2002 database.

2.  The external template database must contain the soil data tables.

3.  The soil data tables in the external template database must be local to that database, i.e. they cannot be attached tables themselves.

Below are some caveats pertaining to the Import and Attach functions.

You can import data from an external template database into a database that currently contains soil data, but you will be warned that you should probably be importing into a copy of your original, since the import process can fail.  If you attempt to do this, you are given a warning, and an option to either proceed or cancel.

You cannot import data from an external template database into a template database whose tables are currently attached tables, as opposed to local tables.  You can however import data from ASCII files into a database whose tables are currently attached tables.

If an import operation is not successful, your local database may be left with only partial data for the survey or surveys that were being imported.  Any surveys for which only partial data was imported should be dropped from the local database by running the macro named “Drop Soil Survey Area”.  This is why it’s a good idea to know what surveys reside in your database, prior to an import operation.  This is also why if you are importing into a database that already contains soil data, you should import into a copy of that database, rather than the original.

You cannot import from the database that you are currently using.

A SSURGO template database can typically import from any earlier version SSURGO template database, but a SSURGO template database cannot import from a later version SSURGO template database.

When you attempt to attach to soil data tables in an external template database, your local database must not currently contain any soil data.  The reason for this is that in order to attach to tables in an external database, your local tables must be dropped.  As a safety feature, local tables are never dropped, unless they are currently empty.  If you want to delete data from a local database, use the macro named “Drop Soil Survey Area”.

You cannot use the macro named “Drop Soil Survey Area” to drop soil survey areas from the soil data tables in an attached database.  This is disabled as a safety feature.

If an attach operation is not successful, your local database will be left without any soil data tables.  Since we require that your local database be empty prior to any attempt to attach to an external template database, no real harm will have been done.  The worst that can happen is that you may have to go get another copy of the template database to replace the one that was just “destroyed”.

After any successful OR FAILED attempt to attach to the soil data tables in an external template database, you can then immediately attempt to attach to the soil data tables in a different external template database.  After a failed attempt to attach to the soil data tables in an external template database, the only function that is still available is the capability to attach to the soil data tables in an external template database.  Most other macros and forms will now fail because one or more required tables are now missing from the local database.

You cannot attach to the database that you are currently using.

A SSURGO template database can only attach to another SSURGO template database of the same SSURGO version.