Set rs = db.OpenRecordset("SELECT * FROM Customers" & _
        " WHERE Region='WA'", dbOpenForwardOnly, dbReadOnly)
         ^
         |
换行后缺空格

解决方案 »

  1.   

    谢谢。但运行时又说“rs.MoveFirst”这一行是“无效操作,这是怎么回事?
      

  2.   

    rs的结果集可能是空
    加判断处理一下
    if rs.eof = false then
       rs.MoveFirst
    end if
      

  3.   

    哦.
    rs.MoveFirst是将结果集指针移动到第一个记录的位置.
    出错的原因可能是这个参数dbOpenForwardOnly.DAO我不是很熟,你可以看看帮助。
      

  4.   

    非常感谢楼上的那位,你真是个好心人。我还想请教你一下,我在使用ADO执行同样的东西的时候,打开数据库使用的是这样一句代码:
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "DataSource=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"
    运行时有结果出来,但是同时也提示出错信息,说“实时错误‘-1247467259(80004005)’:Could not find installable ISAM”,这是怎么回事?是我有东西没装吗?我实在看不懂帮助里写的东西?
      

  5.   

    对了,我把你告诉我的那句“if rs.eof = false then”改为“if rs.eof then”也可以运行,不再出来错误提示。
      

  6.   

    就是我打出的那一句:
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "DataSource=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"
      

  7.   

    cnn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;Persist Security Info=False"这样试试
      

  8.   

    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "DataSource=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"最后的那个分号应去掉.或者你用楼上的代码.