+"+\sysini.mdb;
好象多了个"+"
还有,在字符串联接的地方为什么不用“&”而用"+"呢!

解决方案 »

  1.   

    "...Data Source=" & app.path & "\sysini.mdb;Persist..." 
      

  2.   

    应该是
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+app.path+"\sysini.mdb;Persist Security Info=False"
    里面不能有加号
      

  3.   

    字符串连接的地方用"&",使用 + 运算符时有可能无法确定是做加法还是做字符串连接
      

  4.   

    我认为应该是:
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\sysini.mdb;Persist Security Info=False" 虽然&和+作用是一样的,建议字符串连接最好用&,同意楼上说法
      

  5.   

      这样写至少有一个 Bug。万一 App.Path 是“C:\”之类的话,你的程序就……(C:\\sysini.mdb)数据库就无法打开。所以,建议你用 SHLWAPI.DLL 里面的 PathAppend() 函数来组合路径和文件名:
    Public Declare Function PathAppend Lib "shlwapi.dll" Alias "PathAppendA" (ByVal pPath As String, ByVal pMore As String) As Longe.g.Dim tmpBuffer As String
    tmpBuffer = App.Path + String(1024, vbNullChar)
    PathAppend tmpBuffer, "sysini.mdb"
    tmpBuffer = Left(tmpBuffer, Instr(1, tmpBuffer, vbNullChar) - 1)cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & tmpBuffer & ";Persist Security Info=False"
      

  6.   

    补充:SHLWAPI.DLL 需要 IE 4.0 以上的支持。
      

  7.   

    好好看看代码 这么笨
    一定注意!!!!!
    如果在根目录下 得到 c:\ (这里带有\)
    如果在其他目录下 得到 c:\zzq (这里并没有带\)
      

  8.   

    ... Data Source=" +a pp.path + "\sysini.mdb;Persist ...