Question: I'm adding records to a table from the same table in a separate database file:

```
INSERT INTO P
SELECT *
FROM P IN 'C:\update.accdb'

```

Can I trust that Access is matching fields by *Name* or by *field order*? If someone re-orders the fields of P in C:\update.accdb, will that corrupt the mapping?

Answer: 
The database is matching names by *field order*, not by name.

Always use a column list.

The SQL standard and every other database uses positions. MS Access does the same thing, because there is no requirement that the fields be named in the `select` clause. So, there is no necessarily any information for aligning names.
@Gordon Linoff has already said this, but just for emphasis:

Always use a column list, in every database, in every query.
============================================================

Your coworkers, clients, and generally descendants unto the nth generation will thank you.

So your query should be:

```
insert into something (columns...)
select columns...
from somewhere

```