t = Format(Now(), "yyyymmdd")
    tt = PATH1 & "\" & t & ".dbf"
    
    If Dir(tt, vbHidden) = "" Then      '' 判断文件是否存在
        Label2.Caption = Now() & "   1#生产数据库连接失败!"
            Label2.ForeColor = vbRed
        Exit Sub
    Else
        t = Format(Now(), "yyyymmdd")
        
    End If
    If (dbcon.State <> 1) Then
    Set dbcon = New ADODB.Connection
    str = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=" & PATH1 & ";SourceType=DBF;"
        dbcon.CursorLocation = adUseClient
        On Error Resume Next
        dbcon.Open str      ''打开A楼数据库
        If dbcon.State <> 1 Then
            Label2.Caption = Now() & "   1#生产数据库连接失败!"
            Label2.ForeColor = vbRed
            Exit Sub
        Else            Label2.Caption = Now() & "   1#生产数据库连接成功!"
            Label2.ForeColor = vbWhite
        End If
    End If
    Set db_rs = New ADODB.Recordset
    sql = "select * from " & tt & " order by SJ"
    db_rs.Open sql, dbcon, adOpenKeyset, adLockOptimistic
    If db_rs.RecordCount > 0 Then
       db_rs.MoveFirst
       Do While Not db_rs.EOF
       pTime = Trim(db_rs.Fields("SJ"))
       GCMC = Trim(db_rs.Fields("GCMC"))
      If Trim(db_rs.Fields("GCBW")) <> "" Then
               GCBW = Trim(db_rs.Fields("GCBW"))
          Else
                GCBW = ""
      End If
     
       db_rs.MoveNext
       Loop
     
db_rs.RecordCount > 0 这句提示数据提供程序或其他服务返回   E_FAIL   状态 

解决方案 »

  1.   

    查看一下PATH1 & "\" & t & ".dbf"
    这个表里是不是真的有数据
      

  2.   

    另外str是一个函数的名字,尽量不要用做变量名称
      

  3.   

    把adOpenKeyset改为AdOpenDynamic试试?
      

  4.   

    运行第二次的时候 会在这里
    db_rs.RecordCount > 0 这句提示数据提供程序或其他服务返回 E_FAIL 状态
      

  5.   

    select * from 数据库里面的表名
    不是路径名
      

  6.   

    这个是DBF 数据库,表名就是路径名
      

  7.   

    DBF 数据库,表名就是路径名?
    DBF 数据库,数据库名就是路径名,文件名才是表名
      

  8.   

    要得到db_rs.RecordCount,使用客户端游标试试 db_rs.cursorlocation=aduseclient
      

  9.   

    O(∩_∩)O谢谢大家 已经解决
     还是连接参数的问题改为 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PATH1 + ";Extended Properties=dBASE IV;User ID=Admin;Password="