以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教下,如何实现输入的数据与指定的数据进行比对,如果不符合则提示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194303)

--  作者:SUV2258
--  发布时间:2024/11/26 14:58:00
--  请教下,如何实现输入的数据与指定的数据进行比对,如果不符合则提示
你好老师,表格中有名称为:工作压力、要求整定压力、整定压力和密封实验压力三列,我想实现下列功能,请你给帮助下:
1、当在要求整定压力列输入数值后,整定压力也同时出现输入的数值;
2、向密封实验列中输入的数据要符合以下要求:密封实验压力的数值大于等于工作压力;密封实验压力列的数值大于等于整定压力数值的90%且小于整定压力数值。


--  作者:有点蓝
--  发布时间:2024/11/26 15:22:00
--  
1、参考:http://www.foxtable.com/webhelp/topics/1469.htmhttp://www.foxtable.com/webhelp/topics/1452.htm
If e.DataCol.Name = "要求整定压力" Then
    e.DataRow("
整定压力") = e.DataRow("要求整定压力")
End
 If
If e.DataCol.Name = "密封实验" Then
    If 
e.NewValue < 
e.DataRow("工作压力") orelse e.NewValue < (e.DataRow("整定压力") * 0.9) orelse e.NewValue >= e.DataRow("整定压力") Then
msgbox(不符合要求")
        e.Cancel = True
    End If
End If

--  作者:SUV2258
--  发布时间:2024/12/2 16:04:00
--  
老师,当有多列数据同时等于要求整定压力时,代码如何更改下,例如,现增加了,第一次实际整定压力列,第二次实际整定压力列,第三次实际整定压力列,在要求整定压力输入数值后,这三列也同时出现数值


--  作者:有点蓝
--  发布时间:2024/12/2 16:13:00
--  
整多几行就行了
If e.DataCol.Name = "要求整定压力" Then
    e.DataRow("
整定压力") = e.DataRow("要求整定压力")
    e.DataRow("
第一次实际整定压力") = e.DataRow("要求整定压力")
    e.DataRow("
第2次实际整定压力") = e.DataRow("要求整定压力")
……
End
 If

--  作者:SUV2258
--  发布时间:2024/12/2 16:31:00
--  
麻烦给加上一行让数值为小数点后2位的代码,当存在第3位小数时,不舍去全部进位,
--  作者:有点蓝
--  发布时间:2024/12/2 16:43:00
--  
http://www.foxtable.com/webhelp/topics/0281.htm
--  作者:SUV2258
--  发布时间:2024/12/2 16:47:00
--  
老师,你说的这个我查阅了,但我是想只要小数点第3位存在数值,就直接进位到第2位,这个没想到初到
--  作者:有点蓝
--  发布时间:2024/12/2 16:48:00
--  
没看懂,请举例说明
--  作者:SUV2258
--  发布时间:2024/12/2 16:56:00
--  
有要求整定压力、密封实验压力二列,我用代码:If e.DataCol.Name = "要求整定压力" Then
                                                             e.DataRow("密封实验压力") = e.DataRow("要求整定压力") * 0.92
                                                                 End If
当要求整定压力=0.55时,密封实验压力=0.55*0.92=0.506
我想实现0.55*0.92=0.51

还有一个问题,当我删除整定压力列的数值时,会出现:调用目标错误的提示信息,能否实现删除数值时不出现该提示信息


--  作者:有点蓝
--  发布时间:2024/12/2 17:17:00
--  
Dim a As String = 0.55 * 0.92
a = math.Ceiling(a * 100) / 100
msgbox(a)

删除出错应该是代码用错了,完整代码发上来看看