【问题标题】:Access VB does not seem to read from the databaseAccess VB 似乎没有从数据库中读取
【发布时间】:2017-05-25 10:40:47
【问题描述】:
Set rst = CurrentDb.OpenRecordset("SELECT role" & _
        " FROM EMP " & _
        " WHERE id =" & Chr(34) & id & Chr(34))

If rst.Fields(role) = "admin" Then
    cmdConnecterPrivilege.Visible = True
Else
    cmdConnecterPrivilege.Visible = False
End If

我做错了什么?谢谢!我想看看这个员工是不是管理员

【问题讨论】:

  • 到底出了什么问题?你有错误吗? id 是什么数据类型?如果您不发布问题的全部详细信息,则很难提供帮助。
  • VB.NET 不是 access-vba。它怀疑ID是一个字符串,所以&引号&可能&混淆&它
  • 是的,我知道 Access,它为您提供了错误/异常的详细信息。它们是什么?
  • 是什么让你觉得我比黄瓜凉快?由于标签包含诸如“请勿将其用于 xxxx”之类的措辞,并且您没有注意到该圣人指导,因此我指出了这一点。标签可帮助您从具有该领域专业知识的人那里获得帮助;没有 VB.NET 答案会帮助你,
  • 试试rst.Fields("role").value

标签: ms-access vba


【解决方案1】:

你需要正确的语法,其中之一:

If rst.Fields("role") = "admin"
If rst("role") = "admin"
If rst!role = "admin"

但是您可以使用一个代码行来完成这个简单的任务:

cmdConnecterPrivilege.Visible = (Nz(DLookup("role", "EMP", "ID = '" & id & "'")) = "admin")

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多