我正在尝试从 Excel 工作簿的日常用户那里收集数据。我有一个与工作簿一起打开的用户表单,但是一旦收集了数据,我就不需要用户再次查看该用户表单。
该表单将收集的数据保存在访问数据库中。作为发送到数据库的数据的一部分,是使用 Environ("USERNAME") 获取的用户用户名
我想要做的是让 excel 获取用户名,然后查询数据库进行匹配。如果匹配则跳过表单,如果不匹配则打开表单。
非常感谢这样做的任何帮助或关于如何实现相同的建议。
因为你没有说你到底在哪里有问题也没有发布任何代码我只能希望我的回答能满足你的要求......
假设您将用户名放在一个字符串中,那么您可以调用它:
function check_username_already_there(username_str as string) as boolean
check_username_already_there = false 'set back
Dim dbe As Object ' As DAO.DBEngine
Dim db As Object ' As DAO.Database
Dim dbfile As String
Dim sSQL As String
dbfile = "\\yourpath\yourfile.accdb" 'put the full path here
Set dbe = CreateObject("DAO.DBEngine.120") ' if Acc2007 or higher
Set db = dbe.OpenDatabase(dbfile)
sSQL = "SELECT yourtab.Konto From yourtab WHERE (((yourtab.username_in_tab)='" & username_str & "'));"
Set rs = db.OpenRecordset(sSQL)
If not rs.EOF Then check_username_already_there = true
set dbe = nothing
set db = nothing
set rs = nothing
end function
如果您返回 check_username_already_there = true 用户名已经存在,您可以跳过该表单。
我希望这会有所帮助,马克斯