你好老师,表格中有名称为:工作压力、要求整定压力、整定压力和密封实验压力三列,我想实现下列功能,请你给帮助下:
1、当在要求整定压力列输入数值后,整定压力也同时出现输入的数值;
2、向密封实验列中输入的数据要符合以下要求:密封实验压力的数值大于等于工作压力;密封实验压力列的数值大于等于整定压力数值的90%且小于整定压力数值。
1、参考:http://www.foxtable.com/webhelp/topics/1469.htm、http://www.foxtable.com/webhelp/topics/1452.htmIf 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
老师,当有多列数据同时等于要求整定压力时,代码如何更改下,例如,现增加了,第一次实际整定压力列,第二次实际整定压力列,第三次实际整定压力列,在要求整定压力输入数值后,这三列也同时出现数值
整多几行就行了
If e.DataCol.Name = "要求整定压力" Then
e.DataRow("整定压力") = e.DataRow("要求整定压力")
e.DataRow("第一次实际整定压力") = e.DataRow("要求整定压力")
e.DataRow("第2次实际整定压力") = e.DataRow("要求整定压力")
……
End If
麻烦给加上一行让数值为小数点后2位的代码,当存在第3位小数时,不舍去全部进位,
老师,你说的这个我查阅了,但我是想只要小数点第3位存在数值,就直接进位到第2位,这个没想到初到
有要求整定压力、密封实验压力二列,我用代码: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
还有一个问题,当我删除整定压力列的数值时,会出现:调用目标错误的提示信息,能否实现删除数值时不出现该提示信息
Dim a As String = 0.55 * 0.92
a = math.Ceiling(a * 100) / 100
msgbox(a)
删除出错应该是代码用错了,完整代码发上来看看