I recently had to compare an MS Access (.mdb) database with an earlier backup because of some unexpected changes. Unfortunately, the tools available to me in my corporate environment were limited, so I ended up creating a PowerShell cmdlet designed to compare all user-defined tables, columns, and values. The results are shown in a user-friendly Grid View within PowerShell, but you can also export the results to a .csv file if you prefer.
Since I'm using 64-bit PowerShell alongside some 32-bit Office applications, I made sure to include options that allow you to specify the architecture needed to avoid errors. I think others may find this tool useful, so I'm sharing it here! Just a tip: it's best to use copies of the .mdb files for comparison to avoid locking issues that might interfere with application performance.
You can check out the code [here](https://github.com/TheHungryBandito/Access-Database-Comparison-Tool). I'd love to hear any feedback or suggestions for improvements!
3 Answers
I think using Get-FileHash is a valid approach for quick checks, but it only indicates if files are different on the surface, not what has changed inside them. Definitely not sufficient for detailed comparisons!
Awesome initiative! Your cmdlet sounds like a perfect fit for a lot of situations where professional tools can't be used.
I see you're sharing your PowerShell script, which is great! But I'm curious—did you get any help with the documentation for that? Really detailed write-up!
Honestly, the documentation is solid on its own. If someone has an issue, they can just figure it out instead of criticizing.

Right, the file hash can change easily if someone accesses the db without making actual changes, which is what led to confusion in my case.