以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何能使窗口中输入的值在关联表的范围之内?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89001)

--  作者:程程
--  发布时间:2016/8/13 10:46:00
--  [求助]如何能使窗口中输入的值在关联表的范围之内?
[求助]如何能使窗口中输入的值在关联表的范围之内?   例如在沥青混合料试验结果表中输入筛孔值,使它的值在范围表中的区间中,一旦超出就会示警,该如何操作呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:试验室管理系统 可改.table


--  作者:Hyphen
--  发布时间:2016/8/13 11:37:00
--  
沥青混合料试验结果表DataColChanging事件


If e.DataCol.Name.StartsWith("筛孔") Then
    Dim dr As DataRow = DataTables("范围").Find("品种=\'" & e.DataRow("品种") & "\'")
    If dr IsNot Nothing Then
        If dr.IsNull(e.DataCol.Name) Then
            e.Cancel = True
        Else
            Dim v() As String = dr(e.DataCol.Name).split("~")
            Dim v1 As Decimal = val(e.NewValue)
            If v.Length = 2 Then
                If v1 < val(v(0)) AndAlso v1 > val(v(1)) Then
                    msgbox("范围应该在:" & dr(e.DataCol.Name))
                    e.Cancel = True
                End If
            Else
                If v1 <> val(v(0)) Then
                    msgbox("范围应该在:" & dr(e.DataCol.Name))
                    e.Cancel = True
                End If
            End If
        End If
    End If
End If

--  作者:程程
--  发布时间:2016/8/13 14:37:00
--  
触发不了啊,输入了超出那个范围的值,什么反应也没有
--  作者:Hyphen
--  发布时间:2016/8/13 15:11:00
--  
代码放到沥青混合料试验结果表DataColChanging事件,测试没有问题
--  作者:Hyphen
--  发布时间:2016/8/13 15:11:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:试验室管理系统 可改.table


--  作者:程程
--  发布时间:2016/8/15 14:54:00
--  
谢谢老师谢谢老师谢谢老师!