Foxtable(狐表)用户栏目专家坐堂 → 代码通不过


  共有7808人关注过本帖树形打印复制链接

主题:代码通不过

帅哥哟,离线,有人找我吗?
wlhjia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:35 积分:382 威望:0 精华:0 注册:2012/2/14 11:36:00
代码通不过  发帖心情 Post By: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

帮忙看看为什么,不执行


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:35 积分:382 威望:0 精华:0 注册:2012/2/14 11:36:00
  发帖心情 Post By: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
还是不对,这条有问题么?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/21 17:30:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
wlhjia
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:35 积分:382 威望:0 精华:0 注册:2012/2/14 11:36:00
  发帖心情 Post By: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的用户甲价格表中寻找。

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


 回到顶部