简体   繁体   English

Microsoft Access 2013字段权限

[英]Microsoft Access 2013 Field Permissions

I'm making an Access database which will be used by multiple people, but I want to make it so that only certain people can edit,add,delete certain tables or fields so data isn't accidentally changed wrongly, and so the data is read-only to the people who don't have permission to edit. 我正在制作一个可供多个人使用的Access数据库,但我想这样做,以便只有某些人才能编辑,添加,删除某些表或字段,以免数据被意外更改,因此数据是对没有编辑权限的人只读。 Is there any way to do this? 有什么办法吗? Could I even just have access to certain tables or forms password protected? 我什至可以只访问某些受密码保护的表或表单吗?

Access used to have its own security model using an MDW file, but that went away sometime ago. 访问曾经使用MDW文件拥有自己的安全模型,但在某个时候就消失了。 So the short answer is "no". 因此,简短的答案是“否”。 If you are able to introduce SQL Server into the equation, you could store the tables in SQL (or the free version SQL Express). 如果能够将SQL Server引入等式,则可以将表存储在SQL(或免费版本SQL Express)中。 SQL Server offers the security model you need, and you would then link the tables from SQL Server (ODBC) to Access. SQL Server提供了所需的安全模型,然后将表从SQL Server(ODBC)链接到Access。 In this model, SQL Server is managing your data, and Access is your "front end". 在此模型中,SQL Server管理您的数据,而Access是您的“前端”。 Once linked, access forms, reports, etc. really don't distinguish between local or attached tables, so all of your same Access skills apply. 一旦链接,访问表单,报表等实际上就不会区分本地表或附加表,因此您所有相同的访问技能都适用。 You can export the tables from Access to SQL using the export feature within Access, and choose ODBC. 您可以使用Access中的导出功能将表从Access导出到SQL,然后选择ODBC。 I'm not sure if you're comfortable doing this, but it's really not all that difficult. 我不确定您是否愿意这样做,但实际上并不是那么困难。

If you do use SQL Server (or Express) you would configure the users and permissions on the tables themselves, using SQL Sever Management Studio. 如果确实使用SQL Server(或Express),则可以使用SQL Sever Management Studio在表本身上配置用户和权限。 If a user that did not have update permissions, for example, tried to update a row from an Access form, Access would fire the statement at SQL Server which would return a permission error. 例如,如果没有更新权限的用户尝试从Access表单更新行,则Access会在SQL Server上触发该语句,这将返回权限错误。 You could also use SQL Security to implement Windows Authentication, and assign permission to network users. 您还可以使用SQL安全性来实现Windows身份验证,并将权限分配给网络用户。 When the statements were fired at SQL Server, they would be authorized based on the users login (when they logged into the network). 在SQL Server上激发语句时,将根据用户登录(当他们登录到网络时)对它们进行授权。 There would be no need for them to login again. 无需他们再次登录。

If you decide to go this way, let me know and I can guide you through it. 如果您决定采用这种方式,请告诉我,我会指导您进行操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM