以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码通不过  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=16702)

--  作者:wlhjia
--  发布时间:2012/2/21 16:27:00
--  代码通不过

Select Case e.DataCol.Name
     Case "施工单位","强度等级","浇筑方式","外加剂","级配","订单日期"
         Dim dr As DataRow = DataTables("价格表").select("施工单位 = \'" & e.DataRow("施工单位") & "\' and 价格时限 < \'" & e.DataRow("订单日期") & "\'")
         If dr IsNot Nothing Then
              Dim nm As String = e.DataRow("强度等级") & "_" & e.DataRow("浇筑方式")
              Dim aa As String = "外加剂" & "_" & e.DataRow("外加剂")
              Dim bb As String = "级配" & "_" & e.DataRow("级配")
              If DataTables("价格表").DataCols.Contains(nm) And DataTables("价格表").DataCols.Contains(aa) And DataTables("价格表").DataCols.Contains(bb) Then 
                  e.DataRow("价格") = val(dr(nm)) + val(dr(aa)) + val(dr(bb))
              End If
         End If
End Select

帮忙看看为什么,不执行


--  作者:狐狸爸爸
--  发布时间:2012/2/21 16:48:00
--  

Find和Select是不同的:

 

Select Case e.DataCol.Name
     Case "施工单位","强度等级","浇筑方式","外加剂","级配","订单日期"
         Dim dr As DataRow = DataTables("价格表").Find("施工单位 = \'" & e.DataRow("施工单位") & "\' and 价格时限 < \'" & e.DataRow("订单日期") & "\'")
         If dr IsNot Nothing Then
              Dim nm As String = e.DataRow("强度等级") & "_" & e.DataRow("浇筑方式")
              Dim aa As String = "外加剂" & "_" & e.DataRow("外加剂")
              Dim bb As String = "级配" & "_" & e.DataRow("级配")
              If DataTables("价格表").DataCols.Contains(nm) And DataTables("价格表").DataCols.Contains(aa) And DataTables("价格表").DataCols.Contains(bb) Then
                  e.DataRow("价格") = val(dr(nm)) + val(dr(aa)) + val(dr(bb))
              End If
         End If
End Select


--  作者:wlhjia
--  发布时间:2012/2/21 17:27:00
--  

FIND 语句通过了,但是

If DataTables("价格表").DataCols.Contains(nm) And DataTables("价格表").DataCols.Contains(aa) And DataTables("价格表").DataCols.Contains(bb) Then
                  e.DataRow("价格") = val(dr(nm)) + val(dr(aa)) + val(dr(bb))
              End If
还是不对,这条有问题么?


--  作者:狐狸爸爸
--  发布时间:2012/2/21 17:30:00
--  

这种问题,要获得别人的帮助,只有上传数据表,输入测试数据,设置好代码,然后传上来,说明在什么表的什么事件,设置了什么代码,目的是什么,遇到的问题是什么。


--  作者:wlhjia
--  发布时间:2012/2/21 18:46:00
--  

其实我在前面上传过一次,并得到了您的帮助,不过您给的方法只能解决单一部分,不全面,所以我在此基础上试着改了一改,但是很不理想。

希望您能再给出点整改意见。谢谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:发料管理.rar

我是在订单表的DataColChanged事件中加入代码

我希望是在订单表中输入一个订单信息,能从价格表中获取价格。订单的价格应该是:  强度等级的价格+级配价格+添加剂的价格。比如编号为2的订单,在输入 用户甲 C20 抗渗 非泵 2011-10-11 后,对应此行的价格应该是从价格表中提取得出用户甲  : 250+50+0=300(其中250代表了用户甲强度等级C20且浇筑方式为非泵的价格;50代表了用户甲外加剂为抗渗的价格;0代表了用户甲级配为的价格)。并且这种价格提取应该和时间有关,比如编号2的订单,输入订单日期2011-10-11后,他只能在价格表中寻找离此时间最近一次修改过的价格。而不是从价格期限为2011-06-11的用户甲价格表中寻找。

有些啰嗦,请师傅们费心了