CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

请教一个统计查询的语法问题!

楼主smile8088()2004-08-01 06:12:54 在 VB / 数据库(包含打印,安装,报表) 提问

For   i   =   1   To   12  
          .Open   "select   sum(fy)   as   Sfy     from     tbluseinfo   where   year(intime)   =   "   &   NYear   &   "   and   month(intime)   ="   &   i  
          McrNdsy.Row   =   i  
          If   .EOF   Then  
                McrNdsy.Data   =   0  
          Else  
                McrNdsy.Data   =   .Fields(0)   '???????  
          End   If  
          .Close  
    Next  
   
  运行时程序提示无效的NULL值,可是数据库里面明明是有数据的,不知道是不是语法错误,请知道的朋友帮我看一下! 问题点数:0、回复次数:8Top

1 楼smile8088()回复于 2004-08-01 06:18:59 得分 0

请高手指点统计查询语句SUM的用法,先谢了!  
   
  我要睡觉了,一个通宵下来,满眼的星星!Top

2 楼Leftie(左手,为人民币服务)回复于 2004-08-01 08:29:12 得分 0

For   i   =   1   To   12  
          if   .state=adsatteopen   then   .close  
          .Open   "select   sum(fy)   as   Sfy     from     tbluseinfo   where   year(intime)   =   "   &   NYear   &   "   and   month(intime)   ="   &   i  
          McrNdsy.Row   =   i  
          If   .EOF   Then  
                McrNdsy.Data   =   0  
          Else  
                McrNdsy.Data   =   .Fields(0)   &   ""  
          End   If  
          .Close  
    Next  
  Top

3 楼frankwong(黄梓钿)回复于 2004-08-01 09:39:13 得分 0

'测试这样有全部符合的记录吗  
  select   year(intime),month(intime),sum(fy)   as   Sfy     from     tbluseinfo   group   by   year(intime),month(intime)Top

4 楼1410104(兔子)回复于 2004-08-01 09:44:33 得分 0

.open   strselect("select   sum(fy)   as   Sfy     from     tbluseinfo   where   year(intime)   =   '"   &   NYear   &   "'   and   month(intime)   ='"   &   i   &   "'"),conn  
   
  或是你定义strselect="select   sum(fy)   as   Sfy     from     tbluseinfo   where   year(intime)   =   '"   &   NYear   &   "'   and   month(intime)   ="   &   i   &   "'"  
  conn.excuit   strselect,   i(循环用I此处可能要再定义一个integer)或直接用3,1  
   
  sql语句语法应该没太大问题吧Top

5 楼jackyhyoung(愛因思念)回复于 2004-08-01 09:50:53 得分 0

For   i   =   1   To   12  
          .Open   "select   sum(fy)   as   Sfy     from     tbluseinfo   where   year(intime)   =   "   &   NYear   &   "   and   month(intime)   ="   &   i  
          McrNdsy.Row   =   i  
          If   .EOF   Then  
                McrNdsy.Data   =   0  
          Else  
                McrNdsy.Data   =iif(   .Fields(0)<>"",.fields(0),"")   '???????  
          End   If  
          .Close  
    Next  
  是不是这个原因!Top

6 楼lndlwwh830(笑天星)回复于 2004-08-01 14:31:47 得分 0

我也遇到过这样的问题!!Top

7 楼cqq_chen(我是谁)回复于 2004-08-01 16:08:02 得分 0

用SUM、COUNT等做统计时,不用判断记录是否存在,因为一定会有记录存在的。  
  For   i   =   1   To   12  
          .Open   "select   sum(fy)   as   Sfy     from     tbluseinfo   where   year(intime)   =   "   &   NYear   &   "   and   month(intime)   ="   &   i  
          McrNdsy.Row   =   i  
          McrNdsy.Data   =   iif(isnull(.Fields(0)),0,.Fields(0))  
          .Close  
    Next  
  数据库里面有值存在的话,则说明你的SQL语句本身有问题,因为没有看到实际的数据库,成以没有办法帮你了。Top

8 楼smile8088()回复于 2004-08-01 18:14:27 得分 0

刚刚起床,看到这么多回复,好开心,谢谢各位热心的朋友  
   
  To:   Leftie(左手,为人民币服务)   在字段后面加&""这个方法不错!!!,嘿嘿,调试成功了  
   
  To:cqq_chen(我是谁)   ,相比较左手的方法,您的办法再加人性化一些,学习Ing!  
   
  To:1410104(兔子)   ,不明白您为什么在year(intime)   =   '"   &   NYear   &   "'   and   month(intime)   ='"   &   i   &   "'"里面使用单引号来引住NYear,I两个数值型变量Top

相关问题

  • 查询统计
  • 统计VC6专属语法
  • 求嵌套查询的语法
  • sq查询怎么会语法错误?
  • 连接和查询access的语法。。。
  • 查询统计求和
  • 查询和统计问题
  • 关于统计的查询
  • 查询统计问题?
  • 求最简统计查询!

关键词

  • 语法
  • 语句
  • 数据库
  • mcrndsy
  • intime
  • nyear
  • fy
  • sum
  • strselect
  • year

得分解答快速导航

  • 帖主:smile8088

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo