我有一个Access数据库,我让用户在进入之前登录。登录成功完成后,将其用户名保存为TempVars(“用户”)。我有2张桌子。用户表,用于存储UserID,用户名,密码和各种联系信息。我还有一个数据表,其中保存了资产记录。用户名将在数据表的用户名字段中指定,该字段与用户表中的用户名字段有关系。
我想要做的就是让只有当前登录的用户才能在表单中看到自己的记录。我是Access VBA的新手,所以我无法自己解决这个问题。
好吧,我想我已经弄明白了。我将表放入查询并停止添加参数弹出窗口。
您应该通过使用VBA(和SQL)完全控制表单的记录源来处理此问题。这需要一些编程技巧。
那是一个很长的故事。这是简短的版本:
选择您的表单,并添加一个On Load Event(代码)
代码应该是这样的
Private Sub Form_Load()
dim strSQL as string
strSQL = "SELECT * FROM the_table WHERE UserID=" & your_user_variable
debug.print strSQL
Me.RecordSource = strSQL
End Sub
在查询中,您使用爆炸符号来引用TempVars:
Where SomeProperty = TempVars!User
虽然你可以采用VBA方式,但如果只能通过SQL解决它,我当然不推荐它