以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  引用父关联表数据为查找条件代码问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81821)

--  作者:xongyijd
--  发布时间:2016/3/7 10:36:00
--  引用父关联表数据为查找条件代码问题?
不知道那里问题,帮助我看一下,条件总是不成立?
代码:
Select Case e.DataCol.Name
    Case "物料编码"
        Dim bv() As String = {"物料名称","物料规格","计量单位","物料图号","单重"}
        For Each bvn As String In bv
            If e.NewValue Is Nothing Then
                e.DataRow(bvn) = Nothing
 Else
                Dim qw As DataRow = DataTables("物料清单").Find("[物料编码]= \'" & e.NewValue & "\'")
                Dim pr As DataRow = e.DataRow.GetParentRow("外协加工")
                Dim q As Date = pr("日期")
                \'可以运行代码:Dim qw1 As DataRow = DataTables("产品价格表").Find("[物料编码]= \'" & e.NewValue & "\'and [开始时间] >= #01/01/2016# And [结束时间] <= #12/31/2016#")
                Dim qw1 As DataRow = DataTables("产品价格表").Find("[物料编码]= \'" & e.NewValue & "\'and [开始时间] >= #" & q & "# And [结束时间] <=  #" & q & "#")
                If qw IsNot Nothing Then
                    e.DataRow(bvn) = qw(bvn)
                End If
                If qw1 IsNot Nothing Then
                    e.DataRow("加工单价") = qw1("价格")
                Else
                    MessageBox.Show(q) \'测试代码
                End If
            End If
        Next
 End Select       
[此贴子已经被作者于2016/3/7 10:38:31编辑过]

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

提示什么错误?

 

msgbox(q) 看看弹出什么。


--  作者:xongyijd
--  发布时间:2016/3/7 10:55:00
--  
弹出提示框,显示信息日期是对的,就是条件始终不能成立,
D就是im qw1 As DataRow = DataTables("产品价格表").Find("[物料编码]= \'" & e.NewValue & "\'and [开始时间] >= #" & q & "# And [结束时间] <=  #" & q & "#")
查找都是空
[此贴子已经被作者于2016/3/7 10:57:40编辑过]

--  作者:大红袍
--  发布时间:2016/3/7 11:02:00
--  

查找当天的数据?

 

Dim qw1 As DataRow = DataTables("产品价格表").Find("[物料编码]= \'" & e.NewValue & "\' and [开始时间] >= #" & q.Date & "# And [结束时间] <  #" & q.adddays(1).date & "#")


--  作者:xongyijd
--  发布时间:2016/3/7 11:10:00
--  
一样的,


--  作者:大红袍
--  发布时间:2016/3/7 11:11:00
--  
 那就是你逻辑或数据有问题啊,肯定没有那个日期的数据啊。
--  作者:xongyijd
--  发布时间:2016/3/7 11:19:00
--  
数据我价格表里,有开始日期和结束日期两列,都写入日期,数据应该没有问题,逻辑就只有这代码,还是没有解决,我做一个例子帮助我看看
--  作者:大红袍
--  发布时间:2016/3/7 11:27:00
--  

那就这样改。

 

Dim qw1 As DataRow = DataTables("产品价格表").Find("[物料编码]= \'" & e.NewValue & "\' and [开始时间] <= #" & q & "# And [结束时间] >=  #" & q & "#")


--  作者:xongyijd
--  发布时间:2016/3/7 12:13:00
--  
谢谢可以了,开始没有反应过来,现在理解了,还是我的逻辑有问题