Dim Conn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim j As Integer
j = 0
Conn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=C:\Documents and Settings\zheng\桌面\tomorrow\test.xls;" & _
"DefaultDir=C:\Documents and Settings\zheng\桌面\tomorrow;"Rst.Open "select * from [sheet1$]", Conn, adOpenKeyset, adLockOptimistic
'第一种
MsgBox (Rst.RecordCount)
'第二种
For i = 0 To 5000
If Rst.Fields(2).Value = "" Then
Exit For
End If
j = j + 1
Rst.MoveNext
Next问题:
在第一个窗口中弹出256,但是我的excel数据库的条数为600多条,
然后马上出现提示:ODBC Excel Driver数值字段溢出Rst.Open "select * from [sheet1$]", Conn, adOpenKeyset, adLockOptimistic
当我把上面的这句话改动adopenkeyset为其他的参数时候,就会出现其他的情况,但
是结果都是不对的或则错误的。为什么??在下急等用的。
Dim Rst As New ADODB.Recordset
Dim j As Integer
j = 0
Conn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=C:\Documents and Settings\zheng\桌面\tomorrow\test.xls;" & _
"DefaultDir=C:\Documents and Settings\zheng\桌面\tomorrow;"Rst.Open "select * from [sheet1$]", Conn, adOpenKeyset, adLockOptimistic
'第一种
MsgBox (Rst.RecordCount)
'第二种
For i = 0 To 5000
If Rst.Fields(2).Value = "" Then
Exit For
End If
j = j + 1
Rst.MoveNext
Next问题:
在第一个窗口中弹出256,但是我的excel数据库的条数为600多条,
然后马上出现提示:ODBC Excel Driver数值字段溢出Rst.Open "select * from [sheet1$]", Conn, adOpenKeyset, adLockOptimistic
当我把上面的这句话改动adopenkeyset为其他的参数时候,就会出现其他的情况,但
是结果都是不对的或则错误的。为什么??在下急等用的。
解决方案 »
- 求帮:在程序运行时,如何复制一个ComboBox副本?
- 程序总是报"运行时错误,除数为0"
- VB6的两个问题
- 急!我打好包之后,安装正常,在没有VB的机器中,安装也正常,但是到另一台机器上,安装时出现path or file not found的错误。
- 关于ADO对DATAGRID的问题已经解决!大家分享!
- 表之间的连接问题。
- 如何设置Mshflexgrid控件某一列的颜色。
- sql语句0——''
- 救急!!!怎样才能让一个数据库被四台远程拨号上网pc共享???
- 当用winsock控件建立连接后,如何上传,下载文件?多谢!
- 请教关于 Active skin 的问题!
- 自动配置ODBC数据源的代码问题
建议你可以先引用Excel对象(工程中引用m$ Excel X.0),然后用cell(X,y)=value 来处理数据
On Error Resume Next
Dim Conn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim j As Integer
j = 0
Dim x As String
Conn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=C:\Documents and Settings\zheng\桌面\tomorrow\test.xls;" & _
"DefaultDir=C:\Documents and Settings\zheng\桌面\tomorrow;"
Rst.CursorLocation = adUseClient
Rst.CursorType = adOpenDynamic
Rst.LockType = adLockOptimistic
Rst.Open "select * from [sheet1$]", ConnRst.AddNew
Rst.Fields(0).Value = Date
Rst.Fields(2).Value = "88888888"
Rst.Fields(3).Value = "锋"
Rst.Fields(4).Value = "杭州大酒店"
Rst.Fields(5).Value = "标间"
Rst.Fields(6).Value = "ddd"
Rst.Update
List1.Visible = True
Rst.MoveLast
Text2.Text = Rst.Fields(4).Value
Text2.Refresh
Rst.Close
Conn.Close
End Sub代码如上,但是我当我执行后去看excel时,发现数据没有写入。非常奇怪!
On Error Resume Next //去掉!
后面加几个语句来探测:
Rst.MoveLast
MsgBox Rst.Fields(4).Value
弹出的是刚加进去的数据:“杭州大酒店”
好象是写入了,但是打开数据库就是没有。郁闷:(
Rst.Fields(0).Value = Date
Rst.Fields(2).Value = "88888888"
Rst.Fields(3).Value = "锋"
Rst.Fields(4).Value = "杭州大酒店"
Rst.Update
Rst.MoveLast
MsgBox Rst.Fields(4).Value <--------------弹出“杭州大酒店”
MsgBox Rst.RecordCount <--------------数据的条数也加了1
Dim db As New ADODB.Connection
Dim rs As New ADODB.Recordset
'ChDir "C:\"
'ActiveWorkbook.SaveAs Filename:="E:\WorkTemp.xls", FileFormat:=xlNormal, _
' Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
' CreateBackup:=False
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source = E:\WorkTemp.xls"
db.Openrs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.ActiveConnection = db
If rs.State = adStateOpen Then rs.Close
rs.Open "select * from [sheet1$]"
'rs.AddNew
rs.Fields(0).Value = "我好爱好爱你啊!!!"
rs.Update
rs.Close
Set rs = Nothing
End Sub