Access交流中心

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

求助:想通过SQL语句直接取得表中最后节点的记录

我的ACCESS  发表于:2015-03-22 13:53:15  
复制

在office中国学习http://www.office-cn.net/thread-113458-1-1.html这个帖子中,我想用

select * from 商品分类表 where CategoryID in ( gt_AllDirIdSql(2) )直接取得树结构最末节点的结果,为何查询为空?

gt_AllDirIdSql(2)返回的值是2,9,11,20,21,23,12,16,19,24,15,29,而执行select * from 商品分类表 where CategoryID in ( gt_AllDirIdSql(2) )

后,我想应该返回的是 CategoryID等于2,9,11,20,21,23,12,16,19,24,15,29记录,结果却不是,请懂得的老师多指导。谢谢



 

Top
何保辛 发表于:2015-03-23 11:47:17

Access 当然要在 专业的 Access 网站学习!

在 office 网站 学 Access ,当然学到自己都懵了!


“select * from 商品分类表 where CategoryID in ( gt_AllDirIdSql(2) )”

我们提交的 sql 语句一定是一句字符串,你传一个函数过去除非你的函数 是全局的,

意味着你的函数要让 Application 的 DAO Engine 能调用,这里至少是在模块里 Public 的函数。

反正,我知道你没有得到你想要的效果,就肯定用错了函数的可读范围了。


反而简单点,这样,要是你的函数是返回字符串的话

DoCmd.RunSQL "Select ....... where CategoryID in (" & gt_AllDirIdSql(2) & ")"

你就会很肯定得到你的答案的!




我的ACCESS 发表于:2015-03-25 21:27:00
谢谢何保辛,这样的话,就不能应用到表的查阅里了

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