以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  筛选问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7714)

--  作者:xjtg
--  发布时间:2010/7/28 9:24:00
--  筛选问题
如何设筛选条件,由流水表得筛选表。只构思到:产品=   库存为0,日期为最晚一个。还是太难了,请求帮助?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:筛选表.table


--  作者:狐狸爸爸
--  发布时间:2010/7/28 10:13:00
--  
Dim dr As DataRow
dr = DataTables("XX").Find("产品 = \'yy\' And 库存 = 0","日期 Desc")

--  作者:xjtg
--  发布时间:2010/7/28 16:12:00
--  
yy是否定义个变量,我?????
[此贴子已经被作者于2010-7-28 16:28:25编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/7/28 16:32:00
--  
XX,yy随便写的,xx是表名,yy表示要查找的产品名。
--  作者:xjtg
--  发布时间:2010/7/28 18:38:00
--  
贺老师:yy表示要查找的产品名。yy应是变量。
Dim dr As DataRow
dr = DataTables("XX").Find("产品 = \'yy\' And 库存 = 0","日期 Desc")

我把它放到命令窗口不执行。
--  作者:狐狸爸爸
--  发布时间:2010/7/28 19:01:00
--  

这段代码的意思是找出某产品库存为0的最后一个日期的行,并放在变量dr中,在命令窗口执行,当让不会有任何反应。

 

如果要定位到此行,可以用下面的代码:

Dim dr As DataRow
dr = DataTables("XX").Find("产品 = \'yy\' And 库存 = 0","日期 Desc")
If dr IsNot Nothing Then
    Dim wz As Integer = Tables("xx").FindRow(dr)
    If wz >= 0 Then
        Tables("xx").Position = wz
    End If
End If


--  作者:xjtg
--  发布时间:2010/7/28 23:34:00
--  

我要找的是:某产品(最后一个日期,库存为0)。然后把它所有记录筛选出去。图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2010/7/29 6:31:00
--  

筛选就这样:

 

Dim dr As DataRow
dr = DataTables("XX").Find("产品 = \'yy\' And 库存 = 0","日期 Desc")
If dr IsNot Nothing Then

    Tables("xx").Filter = "[_Identify] = " & dr("_Identify")
End If


--  作者:xjtg
--  发布时间:2010/7/29 22:24:00
--  

贺老师还是不能行呀?图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2010/7/30 8:51:00
--  

我测试没有问题:

 

Dim dr As DataRow
dr = DataTables("流水").Find("产品 = \'PD03\' And 库存 = 0","日期 Desc")
If dr IsNot Nothing Then
    Tables("流水").Filter = "[_Identify] = " & dr("_Identify")
End If