以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  编号检测  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158472)

--  作者:yangwenghd
--  发布时间:2020/11/20 22:26:00
--  编号检测
老师,能帮忙看看这个吗?如果执行了if部分的内容,然后到重新执行红色部分的代码如何写呀,感谢 感谢 
e.Form.Controls("Label1").Text = "PSK" + e.Form.Controls("DateTimePicker1").Text.replace("-","") + "-" + e.Form.Controls("TextBox1").Text \'合同号
Dim drb As DataRow
drb = DataTables("表A").Find("编号 =  \'" & e.Form.Controls("Label1").Text & "\'")


If drb IsNot Nothing Then
    Forms("窗口1").Controls("TextBox1").Text += 1
    \'MessageBox.Show("已经有相同的合同号!")
重新执行红色代码部分
    Return
    
End If

Tables("表A").current("编号")=e.form.controls("Label1").text \'列内容变为已流转

--  作者:有点蓝
--  发布时间:2020/11/21 9:30:00
--  
do while true
e.Form.Controls("Label1").Text = "PSK" + e.Form.Controls("DateTimePicker1").Text.replace("-","") + "-" + e.Form.Controls("TextBox1").Text \'合同号
Dim drb As DataRow
drb = DataTables("表A").Find("编号 =  \'" & e.Form.Controls("Label1").Text & "\'")
If drb IsNot Nothing Then
    Forms("窗口1").Controls("TextBox1").Text += 1
    \'MessageBox.Show("已经有相同的合同号!")
else
    exit do
End If
loop

--  作者:yangwenghd
--  发布时间:2020/11/21 16:58:00
--  
老师能再帮忙看看吗?没有重新执行红色的代码吗?
是这样的,先检测有没相同的,如果有就就重新执行,然后没有就执行绿色代码以及后面的代码,

Do While True
    e.Form.Controls("Label1").Text = "PSK" + e.Form.Controls("DateTimePicker1").Text.replace("-","") + "-" + e.Form.Controls("TextBox1").Text \'合同号
    Dim drb As DataRow
    drb = DataTables("表A").Find("编号 =  \'" & e.Form.Controls("Label1").Text & "\'")
    If drb IsNot Nothing Then
        Forms("窗口1").Controls("TextBox1").Text += 1
        \'MessageBox.Show("已经有相同的合同号!")
        Exit Do
        \'Else
    End If

    Tables("表A").current("编号")=e.form.controls("Label1").text \'列内容变为已流转
    MessageBox.Show("已经录入合同号!")
Loop

--  作者:有点蓝
--  发布时间:2020/11/21 17:03:00
--  
不要乱改好么

do while true
e.Form.Controls("Label1").Text = "PSK" + e.Form.Controls("DateTimePicker1").Text.replace("-","") + "-" + e.Form.Controls("TextBox1").Text \'合同号
Dim drb As DataRow
drb = DataTables("表A").Find("编号 =  \'" & e.Form.Controls("Label1").Text & "\'")
If drb IsNot Nothing Then
    Forms("窗口1").Controls("TextBox1").Text += 1
    \'MessageBox.Show("已经有相同的合同号!")
else
    exit do
End If
loop

    Tables("表A").current("编号")=e.form.controls("Label1").text \'列内容变为已流转
    MessageBox.Show("已经录入合同号!")
[此贴子已经被作者于2020/11/21 17:04:26编辑过]

--  作者:yangwenghd
--  发布时间:2020/11/21 17:07:00
--  
要得,哈哈 老师就是老师 感谢 感谢