Access交流中心

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

Order by从sql server 查询无效

hailuo  发表于:2020-06-12 16:38:29  
复制

环境:ACCESS2010链接sql server 2008使用。wdangandrd是一个链接表。

 问题语句: SELECT 

 wdangandrd.[index] AS A, Wdangandrd.Wloanunit AS B, Wdangandrd.Wname AS C, Wdangandrd.Wloanvalue AS D, Wdangandrd.Wstartdate AS E, Wdangandrd.Wenddate AS F, Wdangandrd.Wdanbaofs AS G, Wdangandrd.Wmanager AS H, Wdangandrd.Wboxindex AS I, Wdangandrd.Wheshu AS J, Wdangandrd.Wbenshu AS K, Wdangandrd.Wyeshu AS L, Wdangandrd.Wtjsj AS M, Wdangandrd.Wtjr AS N, "" AS O, "" AS P 

 FROM Wdangandrd 

 WHERE wdangandrd.[index]>liststartindex() and wdangandrd.[index]<=(select max([index]) from wdangandrd) and userid=SQLbianliang() 

ORDER BY Wdangandrd.Wboxindex ASC 

其中: liststartindex(),SQLbianliang()是程序运行中赋予的函数。 

问题: 调用这各查询生成报表时,未能按照Wdangandrd.Wboxindex字段进行排序。尝试将where语句更改为简单的比如userid="aaa"时,报表能实现排序。 

请教:哪里出问题了,应该怎么改?谢谢!

 

Top
王大陆 发表于:2021-01-15 12:12:55
运行程序中的函数,不是这样运行的吧,sql语句中的函数必须是sqlserver中的函数

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