Foxtable(狐表)用户栏目专家坐堂 → 数量统计问题代码


  共有2605人关注过本帖树形打印复制链接

主题:数量统计问题代码

帅哥哟,离线,有人找我吗?
feixianzhi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
数量统计问题代码  发帖心情 Post By:2016/7/22 9:29:00 [只看该作者]

请大红袍老师帮忙。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/22 9:32:00 [只看该作者]

 上传实例。

 回到顶部
帅哥哟,离线,有人找我吗?
feixianzhi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/22 9:32:00 [只看该作者]

上传附件,传不上去。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.rar


[此贴子已经被作者于2016/7/22 9:32:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/22 9:41:00 [只看该作者]

 

        Dim dr As DataRow = e.DataRow

        Dim d As Date = new Date(2016,1,1)     '定义d为日期函数,并等于2016年1月1日

        Dim d1 As Date =  d.AddMonths(13)     '定义d1为日期函数,并等于d加上13个月,即,d1为2017年1月1日

 

改成

 

 

        Dim dr As DataRow = e.DataRow

        Dim d As Date = Forms("窗口1").Controls("DateTimePicker1").Value

        Dim d1 As Date = Forms("窗口1").Controls("DateTimePicker2").Value


 回到顶部
帅哥哟,离线,有人找我吗?
feixianzhi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/22 9:50:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:错误提示.png
图片点击可在新窗口打开查看

大红袍老师,我改完后,出现错误提示。怎么办呀。

 回到顶部
帅哥哟,离线,有人找我吗?
feixianzhi
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/22 10:35:00 [只看该作者]

大红袍老师帮忙呀。急用。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/22 12:20:00 [只看该作者]

Dim dr As Row = Tables("表a").Current

Dim d As Date = e.Form.Controls("DateTimePicker1").Value

Dim d1 As Date = e.Form.Controls("DateTimePicker2").Value

'按入库/供应商
If dr("返利类型") = "按入库/供应商" Then        '以供应商编码\药品名称\生产企业\进价,为条件
    dr("返利数量") = DataTables("入库结构报表2016").Compute("sum(数量)",CExp("供应商编码='{0}' and 药品名称='{1}' and 生产企业='{2}' and 单据进价={3} and 单据日期 >= #" & d & "# and 单据日期 < #" & d1 & "#",dr("供应商编码"),dr("商品名称"),dr("生产企业"),dr("进价")))
   
   
    '按入库/生产企业
ElseIf dr("返利类型") = "按入库/生产企业" Then       '以生产企业\进价,为条件
    dr("返利数量") = DataTables("入库结构报表2016").Compute("sum(数量)",CExp("生产企业='{0}' and 单据进价={1} and 单据日期 >= #" & d & "# and 单据日期 < #" & d1 & "#",dr("生产企业"),dr("进价")))
   
    '按销售/供应商/指定医院
ElseIf dr("返利类型") = "按销售/供应商/指定医院" Then       '以供应商编码\药品名称\生产企业\指定医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp("供应商编码='{0}' and 商品名称='{1}' and 生产企业='{2}' and 进价='{3}' and 客户编码={4} and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("供应商编码"),dr("商品名称"),dr("生产企业"),dr("进价"),dr("客户编码")))
   
    '按销售/供应商
ElseIf dr("返利类型") = "按销售/供应商" Then       '以销售\供应商\生产企业\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp("供应商编码='{0}' and 商品名称='{1}' and 生产企业='{2}' and 进价={3} and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("供应商编码"),dr("商品名称"),dr("生产企业"),dr("进价")))
   
    '按销售/生产企业
ElseIf dr("返利类型") = "按销售/生产企业" Then       '生产企业\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp("商品名称='{0}' and 生产企业='{1}' and 进价={2} and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价")))
   
    '按销售/生产企业/指定医院
ElseIf dr("返利类型") = "按销售/生产企业/指定医院" Then       '以药品名称\生产企业\指定医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}' and 客户编码={3} and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价"),dr("客户编码")))
   
    '按销售/生产企业/指定医院/不按单价
ElseIf dr("返利类型") = "按销售/生产企业/指定医院" Then       '以药品名称\生产企业\指定医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}'and 客户编码={2} and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("客户编码")))
   
    '按销售/生产企业/二级医院
ElseIf dr("返利类型") = "按销售/生产企业/二级医院" Then       '以药品名称\生产企业\二级医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}' and 按医院级别='二级' and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价")))
   
    '按销售/生产企业/托管医院
ElseIf dr("返利类型") = "按销售/生产企业/托管医院" Then       '以药品名称\生产企业\托管医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}' and 客户编码 in ('1290' ,'2848' ,'2765' ,'1238' ,'1283' ,'1286' ,'1285' ,'1284' ,'1561','1292' ,'2898' ,'6294' ,'2405','4072' ,'2659' ,'6340' ,'0481' ,'0626' ,'6434' ,'6435' ,'6422' ,'6427','0590' ,'6352') and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价")))
   
    '按销售/供应商/生产企业/托管医院
ElseIf dr("返利类型") = "按销售/供应商/生产企业/托管医院" Then       '以药品名称\生产企业\托管医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}'and 供应商编码='{3}'  and 客户编码 in ('1290' ,'2848' ,'2765' ,'1238' ,'1283' ,'1286' ,'1285' ,'1284' ,'1561','1292' ,'2898' ,'6294' ,'2405','4072' ,'2659' ,'6340' ,'0481' ,'0626' ,'6434' ,'6435' ,'6422' ,'6427','0590' ,'6352') and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价"),dr("供应商编码")))
   
    '按销售/生产企业/非托管医院
ElseIf dr("返利类型") = "按销售/生产企业/非托管医院" Then       '以药品名称\生产企业\托管医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}' and 客户编码 not in ('1290' ,'2848' ,'2765' ,'1238' ,'1283' ,'1286' ,'1285' ,'1284' ,'1561','1292' ,'2898' ,'6294' ,'2405','4072' ,'2659' ,'6340' ,'0481' ,'0626' ,'6434' ,'6435' ,'6422' ,'6427','0590' ,'6352') and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价")))
   
    '按销售/供应商/生产企业/非托管医院
ElseIf dr("返利类型") = "按销售/供应商/生产企业/非托管医院" Then       '以药品名称\生产企业\托管医院\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}'and 供应商编码 ='{3}'  and 客户编码 not in ('1290' ,'2848' ,'2765' ,'1238' ,'1283' ,'1286' ,'1285' ,'1284' ,'1561','1292' ,'2898' ,'6294' ,'2405','4072' ,'2659' ,'6340' ,'0481' ,'0626' ,'6434' ,'6435' ,'6422' ,'6427','0590' ,'6352') and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价"),dr("供应商编码")))
   
    '按销售/生产企业/乡镇卫生院(一级)
ElseIf dr("返利类型") = "按销售/生产企业/乡镇卫生院(一级)" Then       '以药品名称\生产企业\乡镇卫生院(一级)\进价,为条件
    dr("返利数量") = DataTables("批发及退货报表2016").Compute("sum(数量)",CExp(" 商品名称='{0}' and 生产企业='{1}' and 进价='{2}' and 按医院级别='乡镇卫生院(一级)' and 会计日 >= #" & d & "# and 会计日 < #" & d1 & "#",dr("商品名称"),dr("生产企业"),dr("进价")))
   
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
feixianzhi
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/22 12:25:00 [只看该作者]

谢谢大红袍老师。

 回到顶部
帅哥哟,离线,有人找我吗?
feixianzhi
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/22 12:43:00 [只看该作者]

大红袍老师,还有个问题。上面的代码,只有选定的行才能计算数量,还有选定的行就不计算。需要怎样改动才能点击按钮实现所有行自动计算。

 回到顶部
帅哥哟,离线,有人找我吗?
feixianzhi
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/7/22 12:48:00 [只看该作者]

大红袍老师,还有个问题。上面的代码,只有选定的行才能计算数量,没有选定的行就不计算。需要怎样改动才能点击按钮实现所有行自动计算。

 回到顶部
总数 12 1 2 下一页