Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

access中的sql在vba模块中运行,为什么生成了空表

达叔  发表于:2013-08-15 14:30:22  
复制

sql = "SELECT zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志, Sum(zz.金额)*(-1) AS 保费 INTO T_标保_JT3 FROM 2013科目数据新口径汇总 AS zz INNER JOIN ZDB_险种定义集团 ON zz.险种 = ZDB_险种定义集团.险种代码 GROUP BY zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志 HAVING (((zz.科目) Like '6031*'));"


这个SQL语句,我直接放在查询中能得到正确的数据,为什么放到模块中执行,却得到一张空表呢?

rs.Open sql, CurrentProject.Connection

请各位大侠指教。

 

Top
一启软研 发表于:2013-08-15 15:11:46

环境不同。

SQL样式:select A.* ,B.name from 表1 A,表2 B where A.id=B.id and .........."



达叔 发表于:2013-08-15 15:53:03
SELECT zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志, Sum(zz.金额)*(-1) AS 保费 INTO T_标保_JT3 FROM 2013科目数据新口径汇总 AS zz INNER JOIN ZDB_险种定义集团 ON zz.险种 = ZDB_险种定义集团.险种代码 GROUP BY zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志 HAVING (((zz.科目) Like '6031*'));

这个语句在ACCESS的查询是没有问题的,但是 下面的语句在VBA模块中运行,却得到空表。

sql = "SELECT zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志, Sum(zz.金额)*(-1) AS 保费 INTO T_标保_JT3 FROM 2013科目数据新口径汇总 AS zz INNER JOIN ZDB_险种定义集团 ON zz.险种 = ZDB_险种定义集团.险种代码 GROUP BY zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志 HAVING (((zz.科目) Like '6031*'));"

rs.Open sql, CurrentProject.Connection

 

大哥,我没明白你的意思,能否再说细一点。

 

 



达叔 发表于:2013-08-15 16:00:30

    sql = "SELECT zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志, Sum(zz.金额)*(-1) AS 保费 INTO T_标保_JT3 FROM 2013科目数据新口径汇总 AS zz , ZDB_险种定义集团 where zz.险种 = ZDB_险种定义集团.险种代码 GROUP BY zz.利润中心, zz.科目, ZDB_险种定义集团.长短险标志 HAVING (((zz.科目) Like '6031*'));"
    rs.Open sql, CurrentProject.Connection

我把模块中的语句改成上面,情况还是一样,得到空表,请多多指点啊



一启软研 发表于:2013-08-15 16:13:19

这个语句在ACCESS查询中是没有问题的,但在VBA中有问题,传附件,帮你搞定。



达叔 发表于:2013-08-15 16:19:45

我已经找到问题所在了,  Like '6031*'  改为  Like '6031%' 就可以了,

请参考下面这个帖子:

http://www.excelpx.com/thread-364-1-1.html

 

谢谢一启。



总记录:5篇  页次:1/1 9 1 :