首先声明本人是菜鸟啊,呵呵在一个工程中我新建了一个模块,函数openconn() 用来打开数据库Public Sub openconn()
Dim str As String '定义
Dim conn As New ADODB.Connectionstr = App.PathIf Right(str, 1) <> "\" Thenstr = str + "\"End Ifstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & str & "\data.mdb"conn.Open strEnd Sub然后在窗体中引用openconn函数
call openconn
rs.Open “select * from data", conn, adOpenDynamic, adLockReadOnly‘////错误提示参数类型不正确,或不在可接受的范围之内。
不引用函数,直接将打开数据库的代码加入后无错误
 
请问应该怎么改 ?不会要在每个SUB中都写一段打开数据库的代码吧~~~

解决方案 »

  1.   

    Public conn As New ADODB.Connectionconn应该为全局变量
      

  2.   

    应该去掉
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & str & "\data.mdb"中的"\"
      

  3.   

    rs.Open “select * from data", conn, adOpenDynamic, adLockReadOnly‘////错误1。可能你没有声明rs,在调用之前加上:dim rs as new adodb.recordset
    2. 你如果之间把你的代码拷过来的,那么open 之后的引号和注释之前的引号写错了
       你用的是“和‘   应该是"和'
      

  4.   

    把引号改掉,再把conn声明为public型,你的代码我试过了
    运行、编译都可以
      

  5.   

    “select * from data"
    -----------------------
    左边引号“改为"
      

  6.   

    楼上的 够仔细啊^_^str = App.PathIf Right(str, 1) <> "\" Thenstr = str + "\"End If后你的str里存储的为"........\"
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & str & "\data.mdb"
    后你str;里为str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=........................\\data.mdb"
    ----------\\data.mdb" 怎么可以
      

  7.   

    把这个放到过程外面
    public conn As New ADODB.Connection