ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3136|回复: 3

需高手解决的数据连接问题??

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-12-7 18:55 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
下述程序我使用数据透视表的外部数据及EXECL的连接外部数据的功能均试了一下,在导至EXECL过程中提示,导出数据发生问题字样,但下述程序能将数据导至QUERY中,大家不信可以用带变量的sql试一下。 我使用是基于我公司财务用友软件的SQL数据库 程序代码如下: declare @a1 char(10),@a2 char(10) select @a1='2003-9-1',@a2='2003-10-1' SELECT gl_accvouch.CCODE as 科目代码,gl_accvouch.CDEPT_ID as 部门代码,gl_accvouch.CCUS_ID as 客户代码,CUSTOMER.CCUSNAME as 客户名称,gl_accvouch.CNAME as 业务员,SUM(CASE WHEN (gl_accvouch.DBILL_DATE)<@a1 THEN gl_accvouch.MD-gl_accvouch.MC ELSE 0 END) AS 期初余额,SUM(CASE WHEN (gl_accvouch.dbill_date) between @a1 and @a2 THEN gl_accvouch.MD ELSE 0 END) AS 累计借方发生额,SUM(CASE WHEN gl_accvouch.dbill_date between @a1 and @a2 THEN gl_accvouch.MC ELSE 0 END) AS 累计貸方发生额,(SUM(CASE WHEN gl_accvouch.DBILL_DATE<@a1 THEN gl_accvouch.MD-gl_accvouch.MC ELSE 0 END)+SUM(CASE WHEN gl_accvouch.dbill_date between @a1 and @a2 THEN gl_accvouch.MD ELSE 0 END)-SUM(CASE WHEN gl_accvouch.dbill_date between @a1 and @a2 THEN gl_accvouch.MC ELSE 0 END)) AS 期末余额 from UFDATA_001_2003.dbo.gl_accvouch,UFDATA_001_2003.dbo.CUSTOMER WHERE CCODE='113101' AND gl_accvouch.CCUS_ID=CUSTOMER.CCUSCODE GROUP BY gl_accvouch.CCODE,gl_accvouch.CCUS_ID,CUSTOMER.CCUSNAME,gl_accvouch.CDEPT_ID,gl_accvouch.CNAME order by gl_accvouch.CCUS_ID 我在上述的程序中使用变量,主要是考虑到变更日期数据的方便性,如果把上述变量全部变更为日期数的话,即没有赋值变量的话,上述程序提出的数据导出到execl中完全没问题。 如果导入到ACCESS中,就多了一个环节,就不能发挥EXECL在数据库方面优越的即时数据刷新的功能,实际上很多软件象用友金蝶,其表功能是有限制的,如用EXECL的数据库连接可以十分方便的完成符合自己企业要求的数据提取过程,而且所做的仅为刷新数据或修改EXECL的query的参数值即可,和使用程序界面没什么两样,而且数据是直接提至EXECL中,能更方便的完成数据的后期处理过程,用熟了,真是很爽,但维一不足的就是我上面所述的不能进行变量的编程导出问题,再次望各位大侠赐教。 [em08]
[此贴子已经被作者于2003-12-7 18:56:40编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-1-8 10:03 | 显示全部楼层
本人已解决,哈哈!

TA的精华主题

TA的得分主题

发表于 2004-1-8 17:25 | 显示全部楼层
没看懂你想 问什么问题 :) 在excel query中使用变量不需要如下申请的: declare @a1 char(10),@a2 char(10) select @a1='2003-9-1',@a2='2003-10-1' 直接在sql 语句中使用 ? 代表变量 即可,然后在参数选项中设置参数的数据类型

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-1-8 19:41 | 显示全部楼层
可以的,我所用的变量格式是变量赋值的标准格式,此格式在excel中的query中可以查询出数据,却导不到excel中,这就是我不明白的地方,你所说的方式我还没试过。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-14 15:11 , Processed in 0.024497 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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