以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]新手求助~~跨表引用 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62746) |
||||
-- 作者:marius -- 发布时间:2015/1/7 14:16:00 -- [求助]新手求助~~跨表引用 麻烦各位路过的大神帮忙看一下 谢谢
问题:1、想通过在“明细表”中的"混凝土强度等级","集料"列中输入相关内容后,再从"至20140816止信息价表"找出对应产品的单价。但是无法实现。 2、怎么加一个条件让日期小等于2014.8.16的读取"至20140816止信息价表",日期大于2014.8.16的读取“从20140817起信息价表” Select Case e.DataCol.Name Case "混凝土强度等级","集料" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("混凝土强度等级") OrElse dr.IsNull("集料") Then dr("基准_信息价") = Nothing Else Dim filter As String filter = "混凝土强度等级 = \'" & dr("混凝土强度等级") & "\' And 集料 = \'" & dr("集料") & "\'" pr = DataTables("至20140816止信息价表").Find(filter) If pr IsNot Nothing Then dr("基准_信息价") = pr("单价") End If End If End Select
|
||||
-- 作者:Bin -- 发布时间:2015/1/7 14:21:00 -- 多加个判断 dim d as date = "2014-08-16" if e.datarow("日期") < d then else end if
|
||||
-- 作者:marius -- 发布时间:2015/1/7 14:27:00 -- 还是不行 版主能不能帮忙看下 我上面粘帖的代码是不是写错了 |
||||
-- 作者:Bin -- 发布时间:2015/1/7 14:29:00 -- 没反应,说明没有符合条件的行. 尝试学习一下调试
|
||||
-- 作者:有点甜 -- 发布时间:2015/1/7 14:37:00 -- Select Case e.DataCol.Name Case "混凝土强度等级","集料" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("混凝土强度等级") OrElse dr.IsNull("集料") Then dr("基准_信息价") = Nothing Else Dim filter As String Dim d As Date = "2014-08-16" filter = "混凝土强度等级 = \'" & dr("混凝土强度等级") & "\' And 集料 = \'" & dr("集料") & "\'" If e.DataRow("供应日期") < d Then pr = DataTables("至20140816止信息价表").Find(filter) Else pr = DataTables("从20140817起信息价表").Find(filter) End If If pr IsNot Nothing Then dr("基准_信息价") = pr("单价") End If End If End Select |
||||
-- 作者:marius -- 发布时间:2015/1/7 14:42:00 -- 解决了 谢谢楼上两位大侠 现在的错误提示真的很好用
|