以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87226)

--  作者:lovebc299
--  发布时间:2016/7/6 10:18:00
--  [求助]
老师请帮忙看看

Dim filter As String
filter = "[开始生产]= \'" & False & "\'"

If Filter > "" Then
    Tables("产期计算_table1").Filter = Filter
End If

Dim sj As new timespan(0)
For Each dr As Row In Tables("产期计算_table1").Rows
Dim cp As String = dr("产品")
Dim filter1 As String
Dim dr1 As DataRow
filter1 = "[产品名称] = \'" & cp & "\'"
dr1 = DataTables("产品列表").find(filter1)
If dr1 IsNot Nothing AndAlso dr1.Isnull("工序1时间") Then
    Dim a As Double = dr1("工序1时间")
    Dim sjd As new timespan(a)
    sj = sj.Add(sjd)
msgbox(sjd.seconds)
    Else
msgbox("没有找到")
End If
Next

老师,为什么会查找不到dr1呢?我订单里的产品都是从产品列表里选的,Tables("产期计算_table1")这个是作为订单的副表出现在窗口的,我一打开窗口就提示我“没有找到”,我想不明白为什么
[此贴子已经被作者于2016/7/6 10:19:32编辑过]

--  作者:大红袍
--  发布时间:2016/7/6 10:23:00
--  

Dim filter As String
filter = "[开始生产]= false or 开始生产 is null"


If Filter > "" Then
    Tables("产期计算_table1").Filter = Filter
End If

If Tables("产期计算_table1").Rows.count = 0 Then
    msgbox("没找到")
Else
    Dim sj As new timespan(0)
    For Each dr As Row In Tables("产期计算_table1").Rows
        Dim cp As String = dr("产品")
        Dim filter1 As String
        Dim dr1 As DataRow
        filter1 = "[产品名称] = \'" & cp & "\'"
        dr1 = DataTables("产品列表").find(filter1)
        If dr1 IsNot Nothing AndAlso dr1.Isnull("工序1时间") Then
            Dim a As Double = dr1("工序1时间")
            Dim sjd As new timespan(a)
            sj = sj.Add(sjd)
            msgbox(sjd.seconds)
        End If
    Next
End If

[此贴子已经被作者于2016/7/6 10:22:54编辑过]

--  作者:lovebc299
--  发布时间:2016/7/6 10:35:00
--  [求助代码还是不对
我按照老师给的代码,复制进去,还是没有解决问题

我确定我的产品列表里有要查找的行,但是为什么总是找不到呢?

Dim filter As String
filter = "[开始生产]= false or 开始生产 is null"


If Filter > "" Then
    Tables("产期计算_table1").Filter = Filter
End If

If Tables("产期计算_table1").Rows.count = 0 Then
    msgbox("没找到")
Else
    Dim sj As new timespan(0)
    For Each dr As Row In Tables("产期计算_table1").Rows
        Dim cp As String = dr("产品")
        Dim filter1 As String
        Dim dr1 As DataRow
        filter1 = "[产品名称] = \'" & cp & "\'"
        dr1 = DataTables("产品列表").find(filter1)
        If dr1 IsNot Nothing AndAlso dr1.Isnull("工序1时间") Then
            Dim a As Double = dr1("工序1时间")
            Dim sjd As new timespan(a)
            sj = sj.Add(sjd)
            msgbox(sjd.seconds)
        End If
    Next
End If

--  作者:大红袍
--  发布时间:2016/7/6 10:37:00
--  

条件有问题,自然就找不到

filter = "[开始生产]= false or 开始生产 is null"
--  作者:lovebc299
--  发布时间:2016/7/6 10:42:00
--  
我的查找条件是 下面那个 filter1  啊    并不是上面的filter

filter1 = "[产品名称] = \'" & cp & "\'"
dr1 = DataTables("产品列表").find(filter1)

--  作者:大红袍
--  发布时间:2016/7/6 10:44:00
--  
上传实例,说明你要什么。
--  作者:lovebc299
--  发布时间:2016/7/6 10:46:00
--  [求助]
怎么上传实例啊?还没有上传过
--  作者:大红袍
--  发布时间:2016/7/6 10:53:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78