Short version: Does Jet Engine 4.0 automatically reset the User's dbSecCreate property on the Tables Container, in contrast to Jet 3.5? If so, I need documentation of this, do you know where to find any?
(I currently have a blurb from the Sybex Access 2000 Developer's Handbook Volume:2 stating it can't be done, but it doesn't say a) Why? and b) What changed?, which would be preferable)
Long Version to recreate:
Secure your database, then create 'TestUser'. Leave the TestUser in the Users group only.
Strip all permissions to all tables from TestUser and Users group, just to be sure (not entirely necessary for test but you'll see where I'm going shortly).
Head to a module and turn on DAO 3.6.
Drop the following code in:
Sub Main()
Dim db as DAO.Database
Dim cnt as DAO.Container
Set db = CurrentDB()
Set cnt = db.Containers("Tables")
cnt.UserName = "Users"
Debug.Print "Users Before Change: " & cnt.Permissions
cnt.Permissions = cnt.Permissions AND Not dbSecCreate
Debug.Print "Users After Change: " & cnt.Permissions
db.Containers.Refresh
Debug.Print "Users After Refresh: " & cnt.Permissions
cnt.UserName = "TestUser"
Debug.Print "TestUser Before Change: " & cnt.Permissions
cnt.Permissions = cnt.Permissions AND Not dbSecCreate
Debug.Print "TestUser After Change: " & cnt.Permissions
db.Containers.Refresh
Debug.Print "TestUser After Refresh: " & cnt.Permissions
Set cnt = Nothing
Set db = Nothing
End Sub
If you review the Debug Window, it appears to be turned off, successfully, as you'd expect.
Now, head to your database window and attempt to create a new table or query.
You will be Successful.
With the old Jet 3.5 (Access 97) Engine, you were locked out of the ability to create these. Forms/Reports/Modules/Macr
os were not locked in 97, but that was dealt with via usage of .mde.
Can I remove the ability to open exclusive and not save the query/table? Yes. My issue is protecting the data in 'With Owner Access' queries that can be bypassed by creating a temporary query (unsaved) allowing modification of that data *by the user*, which I wish to disallow.
Immediate assistance on this issue would be extremely helpful, I'm staring at a project release date that this needs to be dealt with for.
Thanks in advance.
-Craig