I don't know how to automate Access to do it. I am new to programming and the way I did it is the only way I know. I have heard of ADO and DAO but no idea how to use them. The only way I saw someone else do it was to call that "doCmd" SQL module in Access that they built into Access and I copied what they did. I close the database at the end...

appAccess.DoCmd.OpenModule "DoCmdSQL", "PerformSQL"
appAccess.Run "PerformSQL", ChangeStatement
appAccess.CloseCurrentDatabase
but I don't quit Access as I didn't know I should, not sure I know how to do that and I didn't know you had to set its reference to nothing and don't know how to do that either. The only thing I tried was to "Compact" it (via a change in Access options) after every iteration and that takes forever. All your ideas might be great I just don't know how to do any of that. Perhaps one of them will prevent the random change to read-only. Hopefully you can teach me some new techniques. It's probably something easy I just haven't seen it before. Thank you.