vb操作access表的一个奇怪问题

mrfinger 2006-12-01 07:10:01

一个ACCESS表,有10004条记录,4个字段为备注类型
vb 用 以下方式来连接数据库的
"Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Text3.Text & ";Uid=" & Text5.Text & ";Pwd=" & Text6.Text & ";"

当我把sql语句:select * from table1
vb里统计数目是正确的,
当我用select [no],imageurl,note1,note2,note3,note4,zi,right(zicode,len(zicode)-1) from table1语句时,统计数目为768

当我用select [no],imageurl,note1,note2,note3,note4,zi,right(zicode,len(zicode)-1) from table1 order by [no]语句时,统计数目为8365

当我用select [no],imageurl,note1,note2,note3,note4,zi,right(zicode,len(zicode)-1) from table1 order by [no] desc语句时,统计数目为1345

以上sql语句在access里的操作结果得到的统计数目都是正确的(为10004),为什么在vb里会出错???
...全文
145 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrfinger 2006-12-02
  • 打赏
  • 举报
回复
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vbcode\vv\data\xx.mdb;User ID=;Password=;Jet OLEDB:Database Password="

我换了一种数据库连接方式的话,数据统计就对了

to smilespy() lanWay(秋冰)
note1,note2,note3,note4确实是有null值,但是这个问题在ado情况下怎么解决?

[no]是关键字
smilespy 2006-12-02
  • 打赏
  • 举报
回复
[no]为关键字的话,那就不止一个zcode为null的记录了
第2种连接方式难道不是ADO吗?
smilespy 2006-12-01
  • 打赏
  • 举报
回复
如果用recordcount的话,要先movelast才能得到正确结果
zq972 2006-12-01
  • 打赏
  • 举报
回复
你怎么统计的?
早起旺财 2006-12-01
  • 打赏
  • 举报
回复
可能是[no]的问题
lanWay 2006-12-01
  • 打赏
  • 举报
回复
請注意zcode中=NULL時錯誤
smilespy 2006-12-01
  • 打赏
  • 举报
回复
我想可能是碰到一个zcode字段为空的记录就停止了,排序不一样,那个字段为空的记录位置变化导致每次的数目不一样

由[no]顺逆排序结果之和小于10004来看,[no]并非关键字
smilespy 2006-12-01
  • 打赏
  • 举报
回复
实在不行,用movenext一个一个数
mrfinger 2006-12-01
  • 打赏
  • 举报
回复
to smilespy()

试过了,movelast也不行,结果一样
mrfinger 2006-12-01
  • 打赏
  • 举报
回复
to smilespy()

对,是用recordcount,我测试一下movelast,谢谢
mrfinger 2006-12-01
  • 打赏
  • 举报
回复
to adminlhb(蓝领)

我试过了,不是[no]问题,应该是right(zicode,len(zicode)-1)造成的,但是不知道怎么回事?

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧