小弟有这么一段程序:
Set db = OpenDatabase(App.Path & "\log.mdb")
sqlstr = "select 姓名,count(*) from log group by 姓名"
Set rs = db.OpenRecordset(sqlstr)
For i = 0 To rs.RecordCount - 1
ReDim Preserve strM(i) As String
strM(i) = rs.Fields("姓名")
rs.MoveNext
Next我的问题是如何得到记录的总数!rs.RecordCount显然只能表示不同人名出现的次数。又不把rs.Fields(1)每次出现的次数相加。
还请各位高手指点指点 感谢
Set db = OpenDatabase(App.Path & "\log.mdb")
sqlstr = "select 姓名,count(*) from log group by 姓名"
Set rs = db.OpenRecordset(sqlstr)
For i = 0 To rs.RecordCount - 1
ReDim Preserve strM(i) As String
strM(i) = rs.Fields("姓名")
rs.MoveNext
Next我的问题是如何得到记录的总数!rs.RecordCount显然只能表示不同人名出现的次数。又不把rs.Fields(1)每次出现的次数相加。
还请各位高手指点指点 感谢
解决方案 »
- 怎样删除自己在 CSDN 资源内上传的软件?
- 跪求DLL中这几个数据类型怎么转换为VB中的数据类型
- vb.net涓璓ictureBox涓瑽orderStyle濡備綍浣跨敤?
- 如何用sendmessage 选中listview的item 该发送什么消息? 拜托知道的说一下
- True DBGrid7.0 紧急求助
- 可以实现用vb来禁用网卡吗,或者改变ip地址?
- SOS求救!!!我头都快想晕了,可能很简单啊,大家快来帮忙啊!!
- 请教API函数sendmessage问题
- 为什么我用DHTML里的ADO编了一个数据库在自已机上可以但别人访问程序好像都失效了?
- 据说VB可以调用word的拼写检查?
- 关于ToolBar控件的ButtonMenu属性
- 求一份可用的vb的mime的编解码代码
cnt = rs.RecordCount因为你的sql语句用了GroupBy,所以出来的recordset是对每一个人名进行的次数统计。有多少人就有多少笔记录。你的程序已经是对的
rsSelSubject.Open strSql, adoConnection, adOpenKeyset, adLockPessimistic
cnt = rs.RecordCount
只能得到最后一条记录,也就是李×出现的次数cnt最后的5
可以另写一个专门找记录数,
sqlstr = "select count(*) from log "
sqlstr = "select count(*) from log "
msgbox rs.fields(0)2
sqlstr = "select * from log order by 姓名"
msgbox rs.recordcount
call rst.open("select name from log order by name", ...)
idx = -1
reccnt = 0
strCurrName = ""
do while not rst.eof
if (rst!name<>strCurrName) then
strCurrName = rst!name
idx = idx + 1
strName(idx) = rst!name
else
''
end if
reccnt = reccnt + 1
rst.MoveNext
loop
用Recordcount肯定不能达到你想要结果了.
如 if123() 所说的做吧.
1
sqlstr = "select count(*) from log "
msgbox rs.fields(0)2
sqlstr = "select * from log order by 姓名"
msgbox rs.recordcount
msgbox rs.recordcount
rs.RecordSource=sqlstr
Dim MyCount As Integer
MyCount = 0
While Not rs.EOF
MyCount = MyCount + 1
rs.MoveNext
Wend
Print MyCount
然后再用
Msgbox rs.fields(1).value就OK了。