这个问题很奇怪了:
我有一个excel数据库,我用一下方法来打开然后写入一些数据
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + App.Path + "\2003.xls"
rs1.Open "select * from [sheet1$]", cnn1
For i=0 to 9
rs1.AddNew
rs1.Fields(0).Value =Cstr(i)
rs1.Update
Next
rs1.close
cnn1.close
然后在我的数据库(2003.xls)数据库中就有了我所写入的数据了。
但是当我手工打开数据库,然后把数据后面都加了个“0”(哪怕不是加0,只要你对该格数据进行了手工操作),然后用电脑来判断我刚才所写入的数据就没有一点反影了。好象只能识别电脑写入的数据而不能识别我手工操作过的数据
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + App.Path + "\2003.xls"
rs1.Open "select * from [sheet1$]", cnn1if rs1.fields(0).value>10 then
msgbox "that's ok!"
end if
我用以上的方法来判断我刚才对我手工修改的数据进行操作,但是一点反映都没有,这个是怎么会事情啊?
不知道大家听懂我的意思了没有啊?
我有一个excel数据库,我用一下方法来打开然后写入一些数据
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + App.Path + "\2003.xls"
rs1.Open "select * from [sheet1$]", cnn1
For i=0 to 9
rs1.AddNew
rs1.Fields(0).Value =Cstr(i)
rs1.Update
Next
rs1.close
cnn1.close
然后在我的数据库(2003.xls)数据库中就有了我所写入的数据了。
但是当我手工打开数据库,然后把数据后面都加了个“0”(哪怕不是加0,只要你对该格数据进行了手工操作),然后用电脑来判断我刚才所写入的数据就没有一点反影了。好象只能识别电脑写入的数据而不能识别我手工操作过的数据
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + App.Path + "\2003.xls"
rs1.Open "select * from [sheet1$]", cnn1if rs1.fields(0).value>10 then
msgbox "that's ok!"
end if
我用以上的方法来判断我刚才对我手工修改的数据进行操作,但是一点反映都没有,这个是怎么会事情啊?
不知道大家听懂我的意思了没有啊?
解决方案 »
- 如何用VBA控制改变excel中手动插入的图片的大小?
- VB的OLE拖放事件无法判断鼠标键?!
- print对象分页问题(没有做过的请不要回答)
- 宏怎么返回结果
- 怎样删除Msflexgrid控件里的记录?那位大侠帮我看看这些许代码。谢谢先!
- 编译成可执行文件时出现license information for this component not found。。。。
- 如何把作成的报表生成图象文件?
- 高分求救(VB不支持中文路径问题)
- 初写程序,问一个有关于TEXT控件的问题
- 请教高手,在获得一个窗口的句柄后,如何获得这个窗口中标签的、文本框的内容?(高分奉上)
- 几个增强控件的表现力疑问
- 如何获取联众升级游戏里打出是什么牌?
运行环境:在任意一个个文件夹中添加一个2003.xls文件
然后运行以下程序代码:
Set cnn1 = New ADODB.Connection
Set rs1 = New ADODB.Recordset
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + App.Path + "\2003.xls"
rs1.CursorLocation = adUseClient
rs1.CursorType = adOpenDynamic
rs1.LockType = adLockOptimistic
rs1.Open "select * from [sheet1$]", cnn1
Set fs = CreateObject("scripting.filesystemobject")
fs.CopyFile App.Path + "\2003.xls", App.Path + "\2004.xls"
Set cnn2 = New ADODB.Connection
Set rs2 = New ADODB.Recordset
cnn2.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + App.Path + "\2004.xls"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic
rs2.Open "select * from [sheet1$]", cnn2
MsgBox "数据读取没有问题!"
For i = 0 To rs1.RecordCount - 1
If rs1.Fields(0).Value > 2 Then
rs2.AddNew
rs2.Fields(0).Value = rs1.Fields(0).Value
rs2.Fields(1).Value = rs1.Fields(1).Value
rs2.Fields(2).Value = rs1.Fields(2).Value
rs2.Update
End If
rs1.MoveNext
Next
rs1.Close
cnn1.Close
rs2.Close
cnn2.Close
结果一
然后再删除2004.xls文件,然后对2003.xls文件的几个数据进行修改,比如以前是4,你把他删除然后再加入4,就是说把你手动输入的4替换掉原先电脑写的4,然后执行该代码,你会发现结果是不同的。
发表言论者都有分数。