以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  用窗口增加新的产品,如何验证禁止输相同的产品?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147374)

--  作者:yacity
--  发布时间:2020/3/15 9:57:00
--  用窗口增加新的产品,如何验证禁止输相同的产品?
如图所示,产品表名 chanpin。在窗口中添加新产品。
一个产品的最基本内容包含 产品名称,规格,单位。当产品名称、规格、单位和现有产品重复的时候禁止录入,并提示。(只要有一个条件不同,就可以录入,比如规格不同。)

用控件 “规格”的 Validating来检测,代码怎么写呢?


此主题相关图片如下:8.jpg
按此在新窗口浏览图片


--  作者:y2287958
--  发布时间:2020/3/15 10:06:00
--  
http://www.foxtable.com/webhelp/topics/0624.htm
--  作者:狐狸爸爸
--  发布时间:2020/3/15 10:06:00
--  
参考:
--  作者:yacity
--  发布时间:2020/3/22 9:53:00
--  
确定按钮 click 事件

(产品名称,规格,单位) 三列一起代表一个完整的产品。 当输入重复的产品的时候提示“已经存在相同的产品,请查验后再输入”。请问代码怎么写?


Dim HasError As Boolean
Dim r As Row = Tables("chanpin").Current
If r.IsNull("chanpinname") Then
    e.Form.Controls("TextBox2").Error = "请输入产品名称!"
If e.Form.Controls("TextBox2").Text =  "高压黑折边"  Then
 MessageBox.Show("请正确输入产品名称!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
    HasError = True
Else
    e.Form.Controls("TextBox2").Error =  ""
End If
If r.IsNull("guige") Then
    e.Form.Controls("TextBox3").Error = "请输入规格!"
    HasError = True
Else
    e.Form.Controls("TextBox3").Error = ""
End If
If r.IsNull("danwei") Then
    e.Form.Controls("TextBox4").Error = "请输入单位!"
    HasError = True
Else
    e.Form.Controls("TextBox4").Error = ""
End If

If r.IsNull("JM") Then
    e.Form.Controls("TextBox5").Error = "请输入产品拼音简码!"
    HasError = True
Else
    e.Form.Controls("TextBox5").Error = ""
End If
If r.IsNull("fenlei") Then
    e.Form.Controls("ComboBox1").Error = "请输单位!"
    HasError = True
Else
    e.Form.Controls("ComboBox1").Error = ""
End If
If HasError = False Then \'如果没有输入错误,则保存
   r.Save()
   e.Form.Close()
End If


[此贴子已经被作者于2020/3/22 9:53:18编辑过]

--  作者:有点蓝
--  发布时间:2020/3/22 21:11:00
--  
到表格datacolchanging事件判断