以文本方式查看主题

-  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
--  
筛选的效率是不是更高啊,我想打开项目时,不加载所有的表。便增加订单时,录入供商商的名称后,自动查出最近一次这个供应商的条件,并填充到其它信息上。