Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 用户只能在MS Access 2013数据库中编辑和查看包含其电子邮件的记录_Database_Ms Access_Database Design_Vba - Fatal编程技术网

Database 用户只能在MS Access 2013数据库中编辑和查看包含其电子邮件的记录

Database 用户只能在MS Access 2013数据库中编辑和查看包含其电子邮件的记录,database,ms-access,database-design,vba,Database,Ms Access,Database Design,Vba,我目前有一个Access数据库,其中的主表包含用户记录,主键是他们的电子邮件。与该用户相关的其他记录保存在与其电子邮件链接的辅助表中。目前我有一个数据输入的前端设置,但这允许任何人访问并编辑所有记录 我想制作一个需要他们的电子邮件和ID号才能登录的登录表单(这两个都是主表中的字段)。登录后,我希望数据库限制用户只查看和编辑他们的记录,以及链接到他们电子邮件的辅助表中的记录。这在MS Access中可行吗?当然可以。您需要创建一个登录表单(internet上有很多登录表单的示例)。将此表单设置为A

我目前有一个Access数据库,其中的主表包含用户记录,主键是他们的电子邮件。与该用户相关的其他记录保存在与其电子邮件链接的辅助表中。目前我有一个数据输入的前端设置,但这允许任何人访问并编辑所有记录


我想制作一个需要他们的电子邮件和ID号才能登录的登录表单(这两个都是主表中的字段)。登录后,我希望数据库限制用户只查看和编辑他们的记录,以及链接到他们电子邮件的辅助表中的记录。这在MS Access中可行吗?

当然可以。您需要创建一个登录表单(internet上有很多登录表单的示例)。将此表单设置为Access数据库中的开始表单,并使其成为对话框。然后让用户输入他们的电子邮件和ID号。在他点击登录按钮后,您可以这样做(检查现有的电子邮件地址或ID):


当然,您需要根据您的情况调整代码。

因此,在将代码输入我的表单后,我输入的任何数字都会显示“登录成功”消息。这个代码不会检查ID和相应的电子邮件地址。你必须根据自己的需要修改代码。在表中打开一条记录
Set rs=db.OpenRecordset(“YourTableName”,dbOpenSnapshot)
rs.FindFirst“Column1Name=”&Me!LoginTextboxName.Value&“”
(用于字符串)
rs.FindFirst“Column1Name=“&Me!”!LoginTextboxName.Value
(用于整数)。您可以始终使用F8进行调试,并在即时窗口中检查登录文本框中的值和记录集中的值。
Dim db As Database
Dim rs As Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("TableWithEMailAdresses", dbOpenSnapshot)

rs.FindFirst "EMailAdressColumn = '" & Me!EMailTextboxInput.Value & "'"

If rs.NoMatch Then    
  Msgbox "No Login for you!"
  'Do stuff
Else
  Msgbox "Login success!"
  'Do other stuff  
End If