Foxtable(狐表)用户栏目专家坐堂 → 提示窗口无法关闭


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

主题:提示窗口无法关闭

美女呀,离线,留言给我吧!
nuoyan89
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:3495 威望:0 精华:0 注册:2020/10/9 8:45:00
提示窗口无法关闭  发帖心情 Post By:2021/3/15 9:07:00 [只看该作者]

 老师,我在表事件中写了以下代码,明明写的是提示后该单元格内容清空就行了,但是目前提示后提示框无法关闭,非得强行关闭然后重新登录系统,重头再来,请帮忙看看,谢谢

Select Case e.DataCol.name
    Case "毛坯编码","成品流水号","成品编码"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("毛坯编码") = False AndAlso dr.IsNull("成品流水号") = False AndAlso dr.IsNull("成品编码") = False   Then
            If DataTables("产成品入库_录入").Compute("Count([_Identify])","毛坯编码 = '" & dr("毛坯编码") & "' And 成品流水号 = '" & dr("成品流水号")  & "' And 成品编码 = '" & dr("成品编码")  & "'") > 1 Then
                MessageBox.Show("成品流水号重复,重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            ElseIf DataTables("出入库明细").sqlCompute("Count([_Identify])","毛坯编码 = '" & dr("毛坯编码") & "' And 成品流水号 = '" & dr("成品流水号") & "' And 成品编码 = '" & dr("成品编码")   & "'") > 0 Then
                MessageBox.Show("成品流水号重复,重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            End If
        End If
End Select


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/15 9:31:00 [只看该作者]

我测试没有问题,应该datacolchanged事件好有其它代码,互相影响了

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:3495 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2021/3/15 9:39:00 [只看该作者]

老师,以下是我整个完整的代码

Select Case e.DataCol.Name
    Case "毛坯编码"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("毛坯编码")   Then
            dr("生产批次") = Nothing
            dr("批次序号") = Nothing
            dr("成品编码") = Nothing
        Else
            Dim filter As String
            filter = "毛坯编码= '" & dr("毛坯编码")  & "' and 加工内容='喷油入库'"
            pr = DataTables("工序跟踪表").SQLFind(filter)
            If pr IsNot Nothing Then
                dr("生产批次") = pr("生产批次")
                dr("批次序号") = pr("批次序号")
                dr("成品编码") = pr("成品编码")
            End If
        End If
End Select
If e.DataRow("成品编码") = "0103001" OrElse e.DataRow("成品编码") = "0103020" Then
    e.DataRow("成品流水号") = e.DataRow("毛坯编码")
Else
    Select Case e.DataCol.Name
        Case "成品流水号"
            Dim dr As DataRow = e.DataRow
            Dim pr As DataRow
            If dr.IsNull("毛坯编码")  Then
                dr("成品流水号") = Nothing
            Else
                Dim filter As String
                filter = "Barcode= '" & dr("毛坯编码") & "'"
                pr = DataTables("T_Produce_No").SQLFind(filter)
                If pr IsNot Nothing Then
                    dr("成品流水号") = pr("Produce_No")
                End If
            End If
    End Select
End If
If e.DataCol.Name = "毛坯编码" Then
    Dim nms() As String = {"产地编码","规格型号"}
    If e.NewValue = Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("条码基础数据").sqlFind("[毛坯编码] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If
Select Case e.DataCol.Name
    Case "成品编码"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("成品编码")   Then
            dr("成品描述") = Nothing
            dr("毛坯产地") = Nothing
            dr("规格型号") = Nothing
        Else
            Dim filter As String
            filter = "成品编码= '" & dr("成品编码")  & "'"
            pr = DataTables("产品基础数据").SQLFind(filter)
            If pr IsNot Nothing Then
                dr("成品描述") = pr("成品描述")
                dr("毛坯产地") = pr("毛坯产地")
                dr("规格型号") = pr("规格型号")
            End If
        End If
End Select
If e.DataCol.Name = "单据日期" Then
    If e.DataRow.IsNull("单据日期") Then
        e.DataRow("年") = Nothing
    Else
        e.DataRow("年") = Format(e.DataRow("单据日期"),"yyyy")
    End If
End If
If e.DataCol.Name = "单据日期" Then
    If e.DataRow.IsNull("单据日期") Then
        e.DataRow("月") = Nothing
    Else
        e.DataRow("月") = Format(e.DataRow("单据日期"),"yyyyMM")
    End If
End If
If e.DataCol.Name = "单据日期" Then
    If e.DataRow.IsNull("单据日期") Then
        e.DataRow("日") = Nothing
    Else
        e.DataRow("日") = Format(e.DataRow("单据日期"),"yyyyMMdd")
    End If
End If
Select Case e.DataCol.name
    Case "毛坯编码","成品流水号","成品编码"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("毛坯编码") = False AndAlso dr.IsNull("成品流水号") = False AndAlso dr.IsNull("成品编码") = False   Then
            If DataTables("产成品入库_录入").Compute("Count([_Identify])","毛坯编码 = '" & dr("毛坯编码") & "' And 成品流水号 = '" & dr("成品流水号")  & "' And 成品编码 = '" & dr("成品编码")  & "'") > 1 Then
                MessageBox.Show("成品流水号重复,重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            ElseIf DataTables("出入库明细").sqlCompute("Count([_Identify])","毛坯编码 = '" & dr("毛坯编码") & "' And 成品流水号 = '" & dr("成品流水号") & "' And 成品编码 = '" & dr("成品编码")   & "'") > 0 Then
                MessageBox.Show("成品流水号重复,重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            End If
        End If
End Select

 

 

 


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/15 9:47:00 [只看该作者]

互相影响了,但是怎么样影响的要自己调试了,简单的就屏蔽事件

Select Case e.DataCol.name

    Case "毛坯编码","成品流水号","成品编码"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("毛坯编码") = False AndAlso dr.IsNull("成品流水号") = False AndAlso dr.IsNull("成品编码") = False   Then
SystemReady = False
            If DataTables("产成品入库_录入").Compute("Count([_Identify])","毛坯编码 = '" & dr("毛坯编码") & "' And 成品流水号 = '" & dr("成品流水号")  & "' And 成品编码 = '" & dr("成品编码")  & "'") > 1 Then
                MessageBox.Show("成品流水号重复,重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            ElseIf DataTables("出入库明细").sqlCompute("Count([_Identify])","毛坯编码 = '" & dr("毛坯编码") & "' And 成品流水号 = '" & dr("成品流水号") & "' And 成品编码 = '" & dr("成品编码")   & "'") > 0 Then
                MessageBox.Show("成品流水号重复,重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            End If
SystemReady = true
        End If
End Select

 回到顶部