I tried running it on another PC, got another error about locks being exceeded. I found there's a setting I could change in Access and now it appears to work like a charm. I am working with a huge number of records, so it's not surprising.
Thanks again ItsMe for all your help on what turned out to be a LOT of code!