以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  字符过滤  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148957)

--  作者:hopestarxia
--  发布时间:2020/4/20 0:05:00
--  字符过滤
我想实现判断 窗口中 TextBox10 字段值,如果字段前两位包含“新疆” 和“西藏” 字段,则提示消息并停止运行;
请问应如何修改下面代码?
Dim shdz As WinForm.TextBox = e.Form.Controls("TextBox10")
If shdz.text = "新疆" OR note.text = "西藏"  Then 
MessageBox.show("以上地区不能发货","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
Return
End If


--  作者:有点蓝
--  发布时间:2020/4/20 8:39:00
--  
If shdz.text = "新疆" OR shdz.text = "西藏"  Then 
--  作者:hopestarxia
--  发布时间:2020/4/20 9:10:00
--  
If shdz.text = "新疆" OR shdz.text = "西藏"  Then 
老师这样是等于这两个地区,但是实际上这两字段是以要过滤出
前两位以“新疆” 和“西藏” 开头的数据。实际地区名称可能写着(西藏自治区拉萨市,西藏自治区林芝县,新疆乌鲁木齐市
类似于这样的要求(类似于SQL的这种:left(字段,2) = ‘新线’ 的效果)

--  作者:有点蓝
--  发布时间:2020/4/20 9:48:00
--  
If shdz.text like "新疆*" ORelse shdz.text like  "西藏*"  Then 
或者
If shdz.text.StartsWith("新疆") ORelse 


--  作者:hopestarxia
--  发布时间:2020/4/20 9:54:00
--  
谢谢老师,以为这个里面不能用LIKE这类代码图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2020/4/20 10:17:00
--  
like有两种用法,注意这两种用法不能混用


--  作者:hopestarxia
--  发布时间:2020/4/20 10:29:00
--  
If shdz.text like "新疆*" ORelse shdz.text like  "西藏*"  Then 
老师,我发现我的需求,是要以不包含这两个地区为条件,后面的代码才符合要求,当前代码是指包含这两个字符开头的,

即:我想改为 shdz.text 字段不以"新疆" 和 "西藏" 字段开头的数据条件,(类似于SQL  left(字段,2) <> \'新疆\'  and left(字段,2) <> \'西藏\')的效果,
请问老师,这个该 怎么实现。


--  作者:hopestarxia
--  发布时间:2020/4/20 10:34:00
--  
谢谢老师,
[姓名] Not Like \'李%\' 看到这个说明,估计应该可以,
--  作者:hopestarxia
--  发布时间:2020/4/20 10:47:00
--  
If note.text Not Like "新疆*" And  note.text not Like  "西藏*"  Then 
Dim tx2 As Table = e.form.Controls("Table2").Table
If tx2.Compute("Sum(amount)") = 0 Then 
  msgbox("合计运费金额不能为0")
Return
End If
End If

老师,请问为何报错,提示语名应为结束语句。

--  作者:有点蓝
--  发布时间:2020/4/20 11:55:00
--  
应该不是这里的原因,调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm