注册 登录
编程论坛 VB6论坛

关于VB读取07版与13版excel出现报错怎么解决,读03版正常!

事业男儿 发布于 2017-02-19 21:44, 1430 次点击
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Function GETDATA()
  If rs.Fields.Item(0).Value <> "" Then Text1(0).Text = rs.Fields.Item(0).Value
  If rs.Fields.Item(1).Value <> "" Then Text1(1).Text = rs.Fields.Item(1).Value
  If rs.Fields.Item(2).Value <> "" Then Text1(2).Text = rs.Fields.Item(2).Value
  If rs.Fields.Item(3).Value <> "" Then Text1(3).Text = rs.Fields.Item(3).Value
  If rs.Fields.Item(4).Value <> "" Then Text1(4).Text = rs.Fields.Item(4).Value
  If rs.Fields.Item(5).Value <> "" Then Text1(5).Text = rs.Fields.Item(5).Value
End Function
Private Sub Form_Activate()
  cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=111.xls;Extended Properties='Excel 8.0;HDR=Yes'"
  cn.Open
  rs.Open "select * from [sheet1$]", cn, adOpenKeyset, adLockOptimistic
  Dim i As Integer
  If Not rs.BOF Then rs.MoveFirst
  GETDATA
  Label10.Caption = rs.RecordCount
End Sub
Private Sub Command1_Click()
  rs.MovePrevious
  If rs.BOF = True Then
     MsgBox "记录已经到第一条!"
     rs.MoveFirst
  End If
  GETDATA
End Sub
Private Sub Command2_Click()
  rs.MoveNext
  If rs.EOF = True Then
     MsgBox "记录已经到最后一条!"
     rs.MoveLast
  End If
  GETDATA
End Sub
Private Sub Command3_Click()
  End
End Sub
3 回复
#2
风吹过b2017-02-19 23:21
前面已经有人说过了,03与其后版本的 连接字串不同,使用的驱动不同。
#3
xiangyue05102017-02-20 10:30
Microsoft.Jet.OLEDB.4.0
这个4.0不对,具体自己百度一下吧
#4
tiantian0062017-02-28 11:50
同题,求明确下解决办法
1