Excel精英培训网

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

属性的使用无效

[复制链接]
发表于 2023-8-30 11:47 | 显示全部楼层 |阅读模式
本帖最后由 brothersonline 于 2023-8-30 11:51 编辑

想在EXCELVBA 中运行SQL存储过程,将查询到的数据写入到表中。
请诸位大神赐教,为什么运行时会提示“属性的使用无效”,是我定义变量有错误吗?我应该如何修改代码?
2023-08-30_113621.png
  1. Private Sub CommandButton1_Click()

  2.     Dim startdata, enddata As Date
  3.     startdata = TextBox1.Value
  4.     enddata = TextBox2.Value
  5.     Dim conn As ADODB.Connection
  6.     Dim strSQL As ADODB.Recordset
  7. '    Dim strSQL As String
  8.     Set conn = New ADODB.Connection
  9.     Set strSQL = New ADODB.Recordset
  10.     '配置连接串
  11.     conn.ConnectionString = "Provider=SQLOLEDB;Server=(local);Database=TnServer;Uid=sa;Pwd=123456"
  12.     conn.Open

  13.     MsgBox ("连接成功!" & vbCrLf & "数据库状态:" & conn.State & vbCrLf & "数据库版本:" & conn.Version)
  14.    
  15. <font color="#ff0000">    strSQL </font>= "if OBJECT_ID('tempdb..#EnquiryInfo') is not null drop table #EnquiryInfo" _
  16.             & "select F.PATIENT_NAME as 姓名,F.PRESCRIBED_BY as 开方医生,F.IDENTITYs  as 身份类别,convert(char(16),A.CreateDate,120) as 就诊日期,D.MaterialName as 药品名称,D.Model as 规格,D.PackingNumber as 包装数量,E.Text as 包装单位,A.Num as 数量,A.Money as 金额 into #EnquiryInfo" _
  17.             & "From mms_warehouseStockHistory A    Left join mms_warehouse B on B.WarehouseCode = A.OutWarehouseCode    Left join mms_warehouse C  on C.WarehouseCode = A.IntoWarehouseCode     Left join mms_material D  on D.MaterialCode = A.MaterialCode     left join sys_code E  on E.Value = D.PackingUnit_Code    left join GXS_DRUG_PRESC_MASTER F on F.PRESC_NO = A.SrcBillNo Where 1=1 And A.SrcBillType='drug' And datediff(day,startdata,convert(char(23), A.CreateDate, 21)) >=0 and datediff(day,enddata,convert(char(23), A.CreateDate, 21)) <=0 order by 就诊日期 asc insert into #EnquiryInfo" _
  18.             & "select null as 姓名,null as 开方医生,身份类别,case when grouping(身份类别) = 0 then 身份类别 + '_小计' else '总计' end as 就诊日期,null as 药品名称,null as 规格,null as 包装数量,null as 包装单位,null as 数量,SUM(金额) as 金额 from #EnquiryInfo group by 身份类别 with rollup order by 金额" _
  19.             & "select convert(char(10), 就诊日期, 20) as 就诊日期,药品名称,规格,包装数量,包装单位,数量,金额 from #EnquiryInfo"
  20.     '设置表头
  21. '    Range("A3:G3").Value = Array("就诊日期", "药品名称", "规格", "包装数量", "包装单位", "数量", "金额")
  22.     '将数据输出到工作表
  23.     Range("A4").CopyFromRecordset conn
  24.     Unload Me
  25.     '关闭连接
  26. '    conn.Close: Set strSQL = Nothing
  27. '    conn.Close: Set conn = Nothing


  28. End Sub
复制代码

药材流水分类汇总.zip (67.75 KB, 下载次数: 1)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-30 08:51 , Processed in 0.217825 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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