所以我有这个Access 2010数据库,用户必须登录。他们使用的用户名保存为全局变量。然后,我有一个表格,当他们输入数据并点击“保存”按钮时更新表格。我正在尝试设置一个当前链接到表中的列的组合框(用户),以便在全局变量上进行过滤,这样每个人只能在自己的用户名下输入数据。这可能吗?有没有人知道如何编码?我是Access和VBA的完全新手,非常感谢任何帮助
电贺 我
答案 0 :(得分:0)
在该表单的form_load()函数中,您应该使用全局变量填充组合框。为了确保它们无法编辑你也应该禁用组合框。
Private Sub Form_Load()
Me.myComboBoxName = gMyGlobalVariableName
Me.myComboBoxName.enabled = false
End Sub
但是我假设组合框有两列(id和username),其中第一列是隐藏的,而某些表的主键是存储所有用户名的。 gMyGlobalVariableName应该存储了id,而不是用户名本身。
答案 1 :(得分:0)
您可以在表单的load事件中设置组合的行源,以仅包含相关行。
Me.TheCombo.RowSource = _
"SELECT UserColumn, Etc FROM TheTable WHERE UserColumn ='" _
& TheVariable & "'"
您可能还希望确保表单仅包含相关记录,但是,您有一个保存按钮,建议使用未绑定的表单。在Access中,保存按钮在很大程度上是多余的,因为默认情况下是保存记录并且停止保存是困难的。
我想知道为什么你不使用他们的Windows登录用户名?