用于Environ的Excel查询访问(“USERNAME”)匹配

时间:2013-09-12 14:18:03

标签: excel excel-vba vba

我正在尝试从日常用户和excel工作簿中收集数据。 我有一个用工作簿打开的用户表单,但是一旦收集到数据,我就不需要用户再次看到该用户表单。

表单将收集的数据保存在访问数据库中。发送到数据库的数据的一部分是使用Environ(“USERNAME”)

抓取的用户用户名

我想要做的是让excel获取用户名,然后查询数据库以获得匹配。 如果匹配则跳过表单如果不匹配则打开表单。

非常感谢任何帮助这样做的建议或关于如何实现同样的建议。

1 个答案:

答案 0 :(得分:0)

因为您没有说明问题究竟在哪里,也没有发布任何代码我只能希望我的答案符合您的要求......

我们假设您将用户名放在字符串中,然后您可以调用它:

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,用户名已经存在,你可以跳过表格。

我希望这有帮助, 最大