以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  禁止整行输入  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61190)

--  作者:seal51
--  发布时间:2014/12/8 17:08:00
--  禁止整行输入

If e.DataCol.Name = "排产序列号" Then
    Dim dr As DataRow 
    dr = e.DataTable.Find("排产序列号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("此产品已入库!")
        e.Cancel = True
    End If
End If

 

我发现上面这段代码用导入只是禁止了“排产序列号”的输入, 导入行的其他字段都输入进去了, 如何禁止整行数据的输入


--  作者:有点甜
--  发布时间:2014/12/8 17:11:00
--  

Dim dr As DataRow
dr = e.DataTable.Find("排产序列号 = \'" & e.DataRow("排产序列号") & "\'")
If dr IsNot Nothing Then
    MessageBox.Show("此产品已入库!")
    e.Cancel = True
End If


--  作者:seal51
--  发布时间:2014/12/8 17:22:00
--  
提醒后增加了一行, 排产序列号也写进去了,如何禁止增加一行, 可以写return吗
--  作者:有点甜
--  发布时间:2014/12/8 17:31:00
--  
以下是引用seal51在2014-12-8 17:22:00的发言:
提醒后增加了一行, 排产序列号也写进去了,如何禁止增加一行, 可以写return吗

 

那你应该在增加行事件之前判断,或者不要增加行 啊。

 

如果不想执行下面的代码,可以写 return


--  作者:seal51
--  发布时间:2014/12/8 17:49:00
--  
如何写
--  作者:有点甜
--  发布时间:2014/12/8 17:53:00
--  
 你肯定是在哪里新增行了啊,跟你1楼的代码有什么关系?
--  作者:seal51
--  发布时间:2014/12/8 18:04:00
--  
2楼代码可以写在导入按钮里吗
--  作者:seal51
--  发布时间:2014/12/8 18:05:00
--  

导入按钮代码

 

If Tables("导入排产产品_排产明细表").rows.Count > 0 Then

    For Each r1 As Row In Tables("导入排产产品_排产明细表").GetCheckedRows
        Dim  r2 As Row = Tables("采购主表.采购明细表").AddNew
        r2("排产序列号") = r1("排产序列号")
        r2("产品ID") = r1("产品ID")
    Next
    e.Form.close   
Else
    MessageBox.Show("该排产单无未下单项!")
End If


--  作者:seal51
--  发布时间:2014/12/8 18:17:00
--  
在导入按钮里如果发现排产序列号重复禁止执行8楼的导入代码, 如何写呢

--  作者:有点甜
--  发布时间:2014/12/8 19:11:00
--  

If Tables("导入排产产品_排产明细表").rows.Count > 0 Then
    For Each r1 As Row In Tables("导入排产产品_排产明细表").GetCheckedRows
        Dim fdr As DataRow = DataTables("采购明细表").Find("排产序列号 = \'" & r1("排产序列号") & "\'")
        If fdr IsNot Nothing Then
            Dim  r2 As Row = Tables("采购主表.采购明细表").AddNew
            r2("排产序列号") = r1("排产序列号")
            r2("产品ID") = r1("产品ID")
        End If
    Next
    e.Form.close
Else
    MessageBox.Show("该排产单无未下单项!")
End If