Neither have I heard of this behaviour.
Run the process on another workstation/laptop of yours having an updated Office install. If success - as suggested by Anders - reinstall Office on your primary machine.
Another option, if it is the same tables that get deleted, is to make a CSV copy of the data in these tables, delete the tables, recreate them from scratch, and import the CSV copy in the new tables.
That will ensure that some "old stuff" is not being carried over.
What version of Access is installed on your machine?
Jim.
Couple things
On this:
When I try importing the accdb that was transferred to my machine into a blank accdb I get errors ‘system resources exceeded’. Most of the tables are intact in the new accdb but others are missing.
Just to be clear, an error is an error. The output is no good even if you don't see anything wrong or not.
On this:
I recently upgraded my office machines to Win 10 Pro. Now, when I pull an accdb from my client’s machine to my office machine, then run a compact/repair on the transferred data, on my machine, tables are lost.
Only time I've ever seen that happen was due to bad NIC drivers. But you've already side-stepped that issue by zipping. Bad NIC drivers would cause the unzip to fail the CRC/Hash check done when unzipping.
So something on your machine for sure.
I would do a repair of office, followed by applying updates.
Jim.
"out of resources" can be caused by setting buffers to high.
To set it, you use:
dbEngine.SetOption dbMaxBufferSize, xxxxx
in code where xxxxx is a number from 0 to 65535. You can also set it via registry.
Zero is the default setting, which runs a calculation on what to make the setting. That calculation has not been documented in many, many years, and it's not known if it's changed or not.
Some have set MaxBuffers to 65535 to get around other problems in the past, only to find out that with recent versions it causes out of resources. This happens with 32 bit apps where the process address space for Access is limited to 2GB.
In the past, this was always discussed as setting the Buffer size, but what it actually does is set a high water mark of when buffer clean-up will be triggered. So if you make it too high, Access actually can run out of resources before it is able to be trimmed back.
Jim.
Do it as:
C:
CD
Then the command.
Jim
And by the way you can do the compact by using the /compact switch on the command line.
As for the affinity setting what it does is restrict the processors that an executable can run on.
Using the value of one means it can only run on the first processor. Why this allows the Compact to run correctly means there is a bug related to the process and multi threading. Why it shows up on some systems and not others nobody has determined. Probably depends on a number of factors.
last if this is repeatable, I’m sure Microsoft would like to have a look at this.
Jim
Glad to hear you got it sorted.
Jim
If that doesn't help, consider a full re-install of office.