当前位置:编程学习 > VB >>

关于VB 对数据字段的进行计数

对Access表中学历为本科的人数进行统计,执行以下语句后,却统计的不正确。jls的值为0,而利用记录数统计值是1,劳驾各位看看错误在哪!谢谢了。     

  CountSqlCol = "SELECT Count(学历) as jls ,学历 From 护士档案 Where 学历='本科' group by 学历"

  RsTemp.Open CountSqlCol, adoCn, adOpenKeyset, adLockBatchOptimistic, adCmdText



    MsgBox "本科人数" + CStr(jls) + CStr(RsTemp.RecordCount)

CountSqlCol = "SELECT Count(学历) as jls ,学历 From 护士档案 Where 学历 like '%本科%' group by 学历"

学历字段中存储的值可能会有前导或后导空格之类的吧~~,所以你用=并不会统计出来~~~
引用楼主 yueqjun 的回复:
对Access表中学历为本科的人数进行统计,执行以下语句后,却统计的不正确。jls的值为0,而利用记录数统计值是1,劳驾各位看看错误在哪!谢谢了。  

  CountSqlCol = "SELECT Count(学历) as jls ,学历 From 护士档案 Where 学历='本科' group by 学历"
  RsTemp.Open CountSqlCol, adoCn, adOpenKeyset, adLockBatchOptimistic, adCmdText
  MsgBox "本科人数" + CStr(jls) + CStr(RsTemp.RecordCount)

用法不正确,你的外部变量jls不会是rstemp的记录内部的jls。
也就是说:
MsgBox "本科人数" + CStr(jls) + CStr(RsTemp.RecordCount)内的jls变量,
根本就不是sql里的jls,外部jls当然是0

正确用法是:MsgBox "本科人数" & rsttemp("jls")
  RsTemp.RecordCount) 是总记录数
rstemp("jls")是本科数 http://download.csdn.net/detail/veron_04/1644211  MsgBox "本科人数" + iif(isnull(RsTemp("jls")),0,CStr(RsTemp("jls"))) + CStr(RsTemp.RecordCount)

楼主如果敢在模块最顶部加一句 Option Explicit

我敢保证会出错.....

jls 是在sql语句里面的变量,跟vb变量没啥直接关系...所以要用记录集来访问
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,