dim con as new adodb.connection
dim re as new adodb.connection
con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =d:\dicsys\test.mdb"
con.open
rs.open "select count(*) as num from table_name",con,adOpenDynamic, adLockOptimistic
If rs.eof Then
   .....
   .....
else 
   msgbox "数据表中已经有数据存在"
end if

解决方案 »

  1.   

    dim re as new adodb.connectionrs.open "table_name",con,adOpenDynamic, adLockOptimistic这是怎么回事?
      

  2.   

    你输出RecordCount试试!
    我用 data 时,遇到过RecordCount值不对!
    需要 Movelast 才能正确!
      

  3.   

    当没有记录时,有时RecordCount返回的是-1
      

  4.   

    If rs.fileds("num")=0 Then
       .....
       .....
    else 
       msgbox "数据表中已经有数据存在"
    end if

    rs.open "select * from table_name",con,adOpenDynamic, adLockOptimistic
    If rs.recordcount=0 Then
       .....
       .....
    else 
       msgbox "数据表中已经有数据存在"
    end if
      

  5.   

    对于ACCESS,你必须执行MoveLast方法后才能正确取得RecordCount属性,
    如果记录很多时就会很慢,因此我建议你用rs.EOF来判断表里是否有记录.
    '前面代码不变
    If rs.EOF Then
       .....
       .....
    else 
       msgbox "数据表中已经有数据存在"
    end if
      

  6.   

    rs.open "table_name",con,adOpenDynamic, adLockOptimistic
    应该改为:
    rs.open "table_name",con,adOpenKeyset, adLockOptimisticadOpenDynamic游标类型不支持recordcount属性,使得recordcount始终为-1,所以会出错!