以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于自定义录入界面,搜索出错的问题。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11814) |
-- 作者:yacity -- 发布时间:2011/8/12 18:33:00 -- 关于自定义录入界面,搜索出错的问题。 如图所示
当我在pfullname 输入数据的时候 会弹出 新窗口。 在窗口中 输入数据可以筛选。输入中文的时候没有问题 ,但是 输入 规格 列入: "10*12*0.5" 当输入到 10*1 就是 * 号的时候还正常,再往后就出错了。
窗口textchanged代码如下:
Dim txt As String = e.Form.Controls("TextBox1").Text
请问如何解决?
[此贴子已经被作者于2011-8-12 18:44:43编辑过]
|
-- 作者:程兴刚 -- 发布时间:2011/8/12 18:54:00 -- *改为× |
-- 作者:yangming -- 发布时间:2011/8/12 18:57:00 -- 将10*12*0.5,中的*号,改成×,试试 |
-- 作者:狐狸爸爸 -- 发布时间:2011/8/13 8:38:00 -- Like 运算符用于比较字符串,在 Like 比较中,* 和 % 作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如: [姓名] Like \'赫*\' [姓名] Like \'*赫\'
分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”
在字符串的中间不允许使用通配符。例如,不允许 \'赫*丰\'
由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:
[型号] Like \'A[*]*\'
表示型号以“A*”开头。
在 Like 运算符之前,可以加上Not关键词,表示不类似的意思,例如:
[姓名] Not Like \'李*\'
表示姓名不是以“李”开头,也就是不是姓李的。 |
-- 作者:yacity -- 发布时间:2011/8/13 8:42:00 -- 把 规格 10*12*0.05 改成 10X12X0.05 吗? 把*改成 XYZ 的 X 吗? 录入的时候多不方便呀。 |
-- 作者:狐狸爸爸 -- 发布时间:2011/8/13 8:45:00 -- 不用改的,查找的时候,你用代码将查找内容中的*号替换为[*],就解决问题了,用户不会受到任何影响:
也就是将这行:
Dim txt As String = e.Form.Controls("TextBox1").Text
改为:
Dim txt As String = e.Form.Controls("TextBox1").Text.Replace("*","[*]") [此贴子已经被作者于2011-8-13 8:45:36编辑过]
|
-- 作者:yacity -- 发布时间:2011/8/13 8:46:00 -- 谢谢 我发现 把 Textbox 的属性 中文输入 设置为 TRUE 当 10 变成10(全角)即 10*12*0.05(全角) 这样是可以使用的。 |
-- 作者:狐狸爸爸 -- 发布时间:2011/8/13 8:46:00 -- 看六楼 |