Help with SQL Server Error "ad Hoc access to OLE DB Provider 'Microsoft.ACE.OLEDB.12.0'"
I have just had the same problem yesterday, and here is how I was able solve it:

Although the "Disallow adhoc access" is not enabled at the Provider Options page (SQL Server Management Studio), 



the Registry does not have the DisallowadHocAccess = 0 key, and for some reason it is required to have it there.



After I added the key to the registry, I was able to run the Query with a non-admin user as well.