EXCEL+MSSQL求助 数据类型转换
时间:2010-10-24
来源:互联网
存储过程如下:
CREATE proc sp_prodddrpt
(
@ddate datetime
)
as
begin
--set @ddate='2008-06-21' --查询的日期
select b.cinvcode 存货编码,inv.cinvname 存货名称,inv.cinvstd 规格,inv.cinvM_unit 单位,
sum(case when a.ddate=@ddate then isnull(b.iquantity,0) else 0 end) 日产量,
sum(case when month(a.ddate)=month(@ddate) then isnull(b.iquantity,0) else 0 end) 本月产量,
sum(case when a.ddate<=@ddate then isnull(b.iquantity,0) else 0 end) 本年产量,
max(cs.iquantity) 结存数,' ' 备注
from rdrecord a join rdrecords b on a.id=b.id
join inventory inv on inv.cinvcode=b.cinvcode
join currentstock cs on b.cinvcode=cs.cinvcode and cs.cwhcode not like '04'
where a.brdflag='1' and a.cvouchtype='10'
group by b.cinvcode,inv.cinvname,inv.cinvstd,inv.cinvM_unit
end
使用VBA从EXCEL表格传输参数给存储过程 并执行该存储过程
代码片段:
sub rep()
dim sql as string,cn as new adodb.conection,rs as new adodb.recordset
dim a
a=cells(1,1)
sql="exec sp_prodddrpt a"
cn.open" "此处连接数据库的
rs.open sql,cn
执行到此 报错 说“字符串转换成DATETIME类型错误”
或者“nvarchar转换成DATETIME类型错误”
我尝试在数据库表格增加一列把那个DATETIME类型转换成字符型
然后用新增加的列代替原来DATETIME类型列 执行 仍然报上面错误
请高手指教
CREATE proc sp_prodddrpt
(
@ddate datetime
)
as
begin
--set @ddate='2008-06-21' --查询的日期
select b.cinvcode 存货编码,inv.cinvname 存货名称,inv.cinvstd 规格,inv.cinvM_unit 单位,
sum(case when a.ddate=@ddate then isnull(b.iquantity,0) else 0 end) 日产量,
sum(case when month(a.ddate)=month(@ddate) then isnull(b.iquantity,0) else 0 end) 本月产量,
sum(case when a.ddate<=@ddate then isnull(b.iquantity,0) else 0 end) 本年产量,
max(cs.iquantity) 结存数,' ' 备注
from rdrecord a join rdrecords b on a.id=b.id
join inventory inv on inv.cinvcode=b.cinvcode
join currentstock cs on b.cinvcode=cs.cinvcode and cs.cwhcode not like '04'
where a.brdflag='1' and a.cvouchtype='10'
group by b.cinvcode,inv.cinvname,inv.cinvstd,inv.cinvM_unit
end
使用VBA从EXCEL表格传输参数给存储过程 并执行该存储过程
代码片段:
sub rep()
dim sql as string,cn as new adodb.conection,rs as new adodb.recordset
dim a
a=cells(1,1)
sql="exec sp_prodddrpt a"
cn.open" "此处连接数据库的
rs.open sql,cn
执行到此 报错 说“字符串转换成DATETIME类型错误”
或者“nvarchar转换成DATETIME类型错误”
我尝试在数据库表格增加一列把那个DATETIME类型转换成字符型
然后用新增加的列代替原来DATETIME类型列 执行 仍然报上面错误
请高手指教

作者: 我心飞扬cool 发布时间: 2010-10-24
很遗憾通知楼上朋友,您的帖子在24小时之内没有任何回复!
通常情况下,本论坛发布的主题帖会在8小时被回复或处理。您的帖子在24小时之内未被回复,其中的原因可能是:
1、问题表述不清、模棱两可,难以理解,帮助者被搞晕了,夺帖而出;
2、没有上传必要的附件,或附件被遗忘在某个角落;
3、发帖提问时,语气带棱角、带挑衅,不幸被列入不受欢迎的帖子;
4、所提问题不成立,或提不合理的要求,乐于助人者使出“走为上”之计;
5、话题较偏、较冷或者发布到了不合适的版块,暂时无人问津,顾影自怜。
为了提高您的问题解决效率,我们推荐您阅读以下文章:
* 如何发表新话题和上传附件:http://club.excelhome.net/thread-45649-1-1.html
* 发帖的技巧:http://club.excelhome.net/thread-176339-1-1.html
* EH技术论坛的最佳学习方法:http://club.excelhome.net/thread-117862-1-1.html
作者: Admin 发布时间: 2010-10-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28