Originally Posted by
Boost
Are linked tables not read-only already?
It depends on your design. This was advise sa "in case ...". But I advice to use read-only design, as this don't block others from using Excel workbook at same time and vice versa. In case you really need to get some info back to Excel, use an ODBC query in Excel workbook instead with query table as separate one.
Originally Posted by
Boost
Is that a complete duplication of the data, but just held within Access, rather than being a linked table to a source outside of the database? Could you provide some more information behind how I would construct such an event that would replicate the matching fields of data from the linked-uneditable, excel table, to the table copy held in Access?
Yes, it is. Or it almost is. You can have exact copy. You can add additional information when updating table. You can have additional fields which are updated by some form(s) in your database. You can preserve rows deleted from linked table and mark corresponding rows as obsolete. Etc.
Create saved queries to append new data - something like (on fly):
Code:
YourAddQuery = INSERT INTO YourAccessTable ... FROM YourLinkedTable WHERE IDField NOT IN (SELECT IDField FROM YourAccessTable)
Code:
YourUpdateQuery = UPDATE YourAccessTable SET ... FROM YourLinkedTable ylt INNER JOIN YourAccessTable yat ON yat.IDField = ylt.IDField
Code:
YourFeleteQuery = DELETE FROM YourAccessTable WHERE IDField NOT IN (SELECT IDField FROM YourLinkedTable) // in case you want delete the info from YourAccessTable
And now you can use VBA to run those queries whenever you want to refresh the linked data (when database is opened, or when some button is clicked)
Edit: when you have exact copy, then you can have only 2 queries - one deletes all records from Access table, and second inserts all info from linked Excel table.