Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2525|回复: 15

[已解决]求助模糊查询后是否能根据复选框在最后一行产生合计数据 谢谢

[复制链接]
发表于 2013-5-30 15:45 | 显示全部楼层 |阅读模式
求助模糊查询后是否能根据复选框在最后一行产生合计数据  谢谢
查询后自动合计.rar (44.79 KB, 下载次数: 7)
发表于 2013-5-30 15:52 | 显示全部楼层
你要合计哪些列,不同的人的也合计到一块?
回复

使用道具 举报

 楼主| 发表于 2013-5-30 15:55 | 显示全部楼层
本帖最后由 qinhuan66 于 2013-5-30 15:57 编辑
hwc2ycy 发表于 2013-5-30 15:52
你要合计哪些列,不同的人的也合计到一块?

您好老师能否做到凡是提取出来的都合计。谢谢


主要合计为数据值型的

K列至AG列(除L列外)
谢谢
回复

使用道具 举报

发表于 2013-5-30 15:55 | 显示全部楼层
qinhuan66 发表于 2013-5-30 15:55
您好老师能否做到凡是提取出来的都合计。谢谢

从M列开始?
回复

使用道具 举报

 楼主| 发表于 2013-5-30 15:57 | 显示全部楼层
hwc2ycy 发表于 2013-5-30 15:55
从M列开始?

是的。但最好加上K列住院天数。 谢谢
回复

使用道具 举报

发表于 2013-5-30 16:03 | 显示全部楼层
  1. Private Sub CommandButton1_Click()
  2.     Dim strSql$
  3.     Dim strFind$
  4.     Dim strCondition1$
  5.     Dim strCondition2$
  6.     Dim Database As String

  7.     On Error GoTo Errcheck
  8.    
  9.     '检测查询的项目
  10.     Select Case True
  11.         Case Me.OptionButton1.Value
  12.             strFind = OptionButton1.Caption
  13.         Case Me.OptionButton2.Value
  14.             strFind = OptionButton2.Caption
  15.         Case Me.OptionButton3.Value
  16.             strFind = OptionButton3.Caption
  17.         Case Me.OptionButton4.Value
  18.             strFind = OptionButton4.Caption
  19.         Case Else
  20.             MsgBox "请选择要查找的内容"
  21.             Exit Sub
  22.     End Select

  23.     Database = "data"
  24.     strSql = "select 报销月份,序号,定点医疗机构名称,医保卡号,单位名称,姓名,性别," & _
  25.              "年龄,入院日期,出院日期,住院天数,出院诊断,本次住院医疗费总额,甲类药费," & _
  26.              "乙类药费,进口药费,自费药费,超出范围,进口材料费,国产材料费," & _
  27.              "特殊检查费特殊治疗费,丙类项目,其它费用,起付段金额,个人政策自付小计," & _
  28.              "自费药品及自费项目,实际结算自付,统筹基金支付,大病求助基金支付," & _
  29.              "个人支付金额,本年住院次数,本年范围内费用累计,本年大病范围内费用累计 from " & Database

  30.     '检测查询的内容
  31.     Select Case True
  32.         Case Len(Me.TextBox1.Text) > 0
  33.             strCondition1 = " where " & strFind & "='" & Me.TextBox1.Text & "' "
  34.         Case Else
  35.             strCondition1 = " where " & strFind & " like '%' "
  36.     End Select

  37.     '时间条件
  38.     Select Case True
  39.         Case Len(Me.TextBox2.Text) = 0 And Len(Me.TextBox3.Text) = 0
  40.         Case Len(Me.TextBox2.Text) = 0
  41.             strCondition2 = " and 录入时间<=#" & Me.TextBox3.Text & "#"
  42.         Case Len(Me.TextBox3.Text) = 0
  43.             strCondition2 = " and 录入时间>=#" & Me.TextBox2.Text & "#"
  44.         Case Else
  45.             strCondition2 = " and  录入时间 between #" & Me.TextBox2.Text & "# and #" & Me.TextBox3.Text & "#"
  46.     End Select

  47.     'MsgBox strSql & strCondition1 & strCondition2
  48.     '调用查询过程
  49.     Call ADOQuery(strSql & strCondition1 & strCondition2)
  50.     If Me.CheckBox1 Then
  51.             Dim lLastRow&
  52.             lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  53.             If lLastRow > 5 Then
  54.                 Cells(lLastRow + 1, "l").Value = "合计"
  55.                 Cells(lLastRow + 1, "m").Formula = "=sum(m6:m" & lLastRow & ")"
  56.                 Cells(lLastRow + 1, "m").AutoFill Cells(lLastRow + 1, "m").Resize(, 21), xlFillDefault
  57.             End If
  58.     End If
  59.     Exit Sub
  60.    
  61. Errcheck:
  62.     MsgBox Err.Number & vbNewLine & _
  63.            Err.Description
  64. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-5-30 16:04 | 显示全部楼层
hwc2ycy 发表于 2013-5-30 16:03

你好老师修改很好地方吗?谢谢
回复

使用道具 举报

发表于 2013-5-30 16:07 | 显示全部楼层
  1. Private Sub CommandButton1_Click()
  2.     Dim strSql$
  3.     Dim strFind$
  4.     Dim strCondition1$
  5.     Dim strCondition2$
  6.     Dim Database As String

  7.     On Error GoTo Errcheck
  8.    
  9.     '检测查询的项目
  10.     Select Case True
  11.         Case Me.OptionButton1.Value
  12.             strFind = OptionButton1.Caption
  13.         Case Me.OptionButton2.Value
  14.             strFind = OptionButton2.Caption
  15.         Case Me.OptionButton3.Value
  16.             strFind = OptionButton3.Caption
  17.         Case Me.OptionButton4.Value
  18.             strFind = OptionButton4.Caption
  19.         Case Else
  20.             MsgBox "请选择要查找的内容"
  21.             Exit Sub
  22.     End Select

  23.     Database = "data"
  24.     strSql = "select 报销月份,序号,定点医疗机构名称,医保卡号,单位名称,姓名,性别," & _
  25.              "年龄,入院日期,出院日期,住院天数,出院诊断,本次住院医疗费总额,甲类药费," & _
  26.              "乙类药费,进口药费,自费药费,超出范围,进口材料费,国产材料费," & _
  27.              "特殊检查费特殊治疗费,丙类项目,其它费用,起付段金额,个人政策自付小计," & _
  28.              "自费药品及自费项目,实际结算自付,统筹基金支付,大病求助基金支付," & _
  29.              "个人支付金额,本年住院次数,本年范围内费用累计,本年大病范围内费用累计 from " & Database

  30.     '检测查询的内容
  31.     Select Case True
  32.         Case Len(Me.TextBox1.Text) > 0
  33.             strCondition1 = " where " & strFind & "='" & Me.TextBox1.Text & "' "
  34.         Case Else
  35.             strCondition1 = " where " & strFind & " like '%' "
  36.     End Select

  37.     '时间条件
  38.     Select Case True
  39.         Case Len(Me.TextBox2.Text) = 0 And Len(Me.TextBox3.Text) = 0
  40.         Case Len(Me.TextBox2.Text) = 0
  41.             strCondition2 = " and 录入时间<=#" & Me.TextBox3.Text & "#"
  42.         Case Len(Me.TextBox3.Text) = 0
  43.             strCondition2 = " and 录入时间>=#" & Me.TextBox2.Text & "#"
  44.         Case Else
  45.             strCondition2 = " and  录入时间 between #" & Me.TextBox2.Text & "# and #" & Me.TextBox3.Text & "#"
  46.     End Select

  47.     'MsgBox strSql & strCondition1 & strCondition2
  48.     '调用查询过程
  49.     Call ADOQuery(strSql & strCondition1 & strCondition2)
  50.     If Me.CheckBox1 Then
  51.             Dim lLastRow&
  52.             lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  53.             If lLastRow > 5 Then
  54.                 Cells(lLastRow + 1, "j").Value = "合计"
  55.                 Cells(lLastRow + 1, "k").Formula = "=sum(k6:k" & lLastRow & ")"
  56.                 Cells(lLastRow + 1, "k").AutoFill Cells(lLastRow + 1, "k").Resize(, 23), xlFillDefault
  57.             End If
  58.     End If
  59.     Exit Sub
  60.    
  61. Errcheck:
  62.     MsgBox Err.Number & vbNewLine & _
  63.            Err.Description
  64. End Sub
复制代码
回复

使用道具 举报

发表于 2013-5-30 16:07 | 显示全部楼层
替换查询按钮的代码就成了。
回复

使用道具 举报

 楼主| 发表于 2013-5-30 16:08 | 显示全部楼层
hwc2ycy 发表于 2013-5-30 16:07

经测试发现

2013-05-30_160749.gif
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 22:50 , Processed in 0.294614 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表