以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 关于动态加载 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48982)
|
-- 作者:ap9709130
-- 发布时间:2014/4/10 10:17:00
-- 关于动态加载
我想加动态加载订单主表的最近一次的订单,如果生成DATATABLES的数据之后我会写代码:
Dim dr As DataRow dr =DataTables("订单主表").Find("供应商名称 = \'" & e.DataRow("供应商名称") & "\'","订单日期 Desc",1) \'
但是用LOADFILTER 怎么找到服务器的最后次呢,
DataTables("订单主表").loadfilter = "供应商名称 = (\'" & e.DataRow("供应商名称") & "\'","订单日期 Desc")
会提示出错的。
|
-- 作者:Bin
-- 发布时间:2014/4/10 10:19:00
--
DataTables("订单主表").loadfilter = "供应商名称 = \'" & e.DataRow("供应商名称") & "\' and 订单日期=max(订单日期)"
[此贴子已经被作者于2014-4-10 10:19:21编辑过]
|
-- 作者:ap9709130
-- 发布时间:2014/4/10 10:57:00
--
多谢BIN。要学的东西很多啊。
|
-- 作者:ap9709130
-- 发布时间:2014/4/10 12:22:00
--
BIN
我用SQL 测试了一下,显示订单主表附近有语法错误。
代码是:
DataTables("订单主表").LoadFilter = "供应商名称 = \'" & tables("订单主表").Current(供应商名称) & "\' and 订单日期 = max(订单日期)" DataTables("订单主表").load
哪里有错?
|
-- 作者:有点甜
-- 发布时间:2014/4/10 13:17:00
--
where 后面是不能跟 max聚合函数的。
你需要把 max(订单日期) 的值先查出来
|
-- 作者:狐狸爸爸
-- 发布时间:2014/4/10 13:50:00
--
如果是最新的2014版: Dim Max As Date = Datatables("订单主表").SQLCompute("Max(日期)", "供应商名称 = \'" & tables("订单主表").Current(供应商名称) & "\'") DataTables("订单主表").LoadFilter = "供应商名称 = \'" & tables("订单主表").Current(供应商名称) & "\' and 订单日期 =#" & Max & "#" DataTables("订单主表").load
|
-- 作者:狐狸爸爸
-- 发布时间:2014/4/10 14:06:00
--
有点不明白,只是加载一条数据,意义何在? 还不如用筛选呢。
|
-- 作者:ap9709130
-- 发布时间:2014/4/10 14:11:00
--
试了。还是不行。显示如下:
此主题相关图片如下:2{1cvlo08fd(`pt8rse5l{2.jpg
我是用SQL的我把日期的#改成‘,也是不行,也是显示这个图。
|
-- 作者:狐狸爸爸
-- 发布时间:2014/4/10 14:12:00
--
用例子说话
|
-- 作者:ap9709130
-- 发布时间:2014/4/10 15:23:00
--
筛选的效率是不是更高啊,我想打开项目时,不加载所有的表。便增加订单时,录入供商商的名称后,自动查出最近一次这个供应商的条件,并填充到其它信息上。
|