从VB连接到Access到Access时出错

时间:2011-10-25 17:08:57

标签: vb.net ms-access

我有一个Access项目,我希望只有在查询返回结果时才打开表单时显示标签。

我有以下代码:

Private Sub Form_Load()
Dim stSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = DBEngine.Workspaces(0).Databases(0)

Dim cn As DAO.Connection
Set cn = DAO.Connection


cn.Provider = "Microsoft.Jet.OLEDB.4.0"

cn.Open stdbName
stSQL1 = "SELECT * FROM tbl_lessons"
Set rs = db.OpenRecordset(stSQL1, dbOpenDynaset)

If (rs Is Not Nothing) Then
    If (rs.GetRows() > 0) Then
        lbl_alert.Visible = True
    Else
      lbl_alert.Visible = False
    End If

End If

当我尝试打开表单时,我收到以下错误:       编译错误:       找不到方法或数据成员

我正在使用Access 2007和VB7

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

注意 - 在VBA中发生编译错误时,始终突出显示一行代码。仔细查看突出显示的行将帮助您弄清楚您做错了什么。另请注意,在尝试运行表单之前,应始终编译代码。 (打开“调试”菜单>单击“编译VBAProject”等。)

似乎存在许多问题,您可能需要一次解决一个问题。只需不断修复问题并重新编译代码。

  1. 1cn.Open stdbName1
    - >在您向我们展示的代码中的任何位置都未定义stdbname
  2. Dim stSQL As String
    - >您已将连接字符串定义为stSQL,但在您使用的代码中使用了stSQL1 = "..."。修复变量名称。