以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 按条件自动输入  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103875)

--  作者:Darcylau
--  发布时间:2017/7/19 0:04:00
--  [求助] 按条件自动输入
尊敬的学长、兄台:

我司的淋浴房是定制产品,在订单表的一行中依次输入数据倒数据列型号、产品宽度、产品深度、靠墙方向
型号的第二位字母代表淋浴房的形状。如"E"和"U"代表单面靠墙的产品。
当输入产品深度时,如果等于产品宽度(都是数值型),而且型号的第二个字母是"E"或者"U"的。那么在靠墙方向自动输入“单靠”。
当输入产品深度时,如果等于产品宽度(都是数值型),而且型号的第二个字母不是"E"或者"U"的。那么在靠墙方向自动输入“等靠”。

我在datacolchanged事件中输入如下代码:
Select Case e.DataCol.name
    Case "产品深度"
        If e.DataRow("产品深度") = e.DataRow("产品宽度")
            If e.DataRow("型号").Chars(1) = "U" Or "E"
                e.DataRow("靠墙") = "单靠"
            Else
                e.DataRow("靠墙") = "等靠"
            End If
        End If
End Select
当输入的产品深度等于产品宽度时,弹出对话框提示“调用的目标发生异常”,具体如下:
  .NET Framework 版本:2.0.50727.8669
  Foxtable 版本:2017.3.18.1
  错误所在事件:表,淋浴房订单表,DataColChanged
  详细错误信息:
  调用的目标发生了异常。
  从字符串“E”到类型“Boolean”的转换无效。
  输入字符串的格式不正确。

请批评指正,谢谢您!
[此贴子已经被作者于2017/7/19 0:05:29编辑过]

--  作者:有点蓝
--  发布时间:2017/7/19 8:55:00
--  
Select Case e.DataCol.name
    Case "产品深度","产品宽度","型号"
        If e.DataRow("产品深度") = e.DataRow("产品宽度")
            If e.DataRow("型号").Chars(1) = "U" OrElse e.DataRow("型号").Chars(1) = "E"
                e.DataRow("靠墙") = "单靠"
            Else
                e.DataRow("靠墙") = "等靠"
            End If
        End If
End Select