Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关于自定义录入界面,搜索出错的问题。

1楼
yacity 发表于:2011/8/12 18:33:00

如图所示

 


图片点击可在新窗口打开查看此主题相关图片如下:104.jpg
图片点击可在新窗口打开查看

当我在pfullname 输入数据的时候 会弹出 新窗口。

在窗口中 输入数据可以筛选。输入中文的时候没有问题 ,但是 输入 规格 列入: "10*12*0.5"

当输入到 10*1 就是 * 号的时候还正常,再往后就出错了。

 

窗口textchanged代码如下:

 

 

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("窗口2_Table1")
tbl.Filter= "leveal=2 and deleted=0 and isstop=0 "
tbl.sort="pfullname desc,standard desc,unit1 desc"
If txt = "" Then
    tbl.Filter = "leveal=2 and deleted=0 and isstop=0 "
    tbl.sort="pfullname desc,standard desc,unit1 desc"
Else
    txt = "'*" & txt & "*'"
    tbl.filter = "(pfullname Like " & txt & " Or Standard Like " & txt & " Or Unit1 Like " & txt & ") and (leveal=2 and deleted=0 and isstop=0 ) "
tbl.Sort = "pfullname desc,standard desc,unit1 desc"

 
End If

 

 请问如何解决?

 

[此贴子已经被作者于2011-8-12 18:44:43编辑过]
2楼
程兴刚 发表于:2011/8/12 18:54:00
*改为×
3楼
yangming 发表于:2011/8/12 18:57:00
10*12*0.5,中的*号,改成×,试试
4楼
狐狸爸爸 发表于:2011/8/13 8:38:00

Like 运算符用于比较字符串,在 Like 比较中,* 和 % 作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:

[姓名] Like '*赫*'

[姓名] Like '赫*'

[姓名] Like '*赫'

 

分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”

 

在字符串的中间不允许使用通配符。例如,不允许 '赫*丰'

 

由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:

 

[型号] Like 'A[*]*'

 

表示型号以“A*”开头。

 

在 Like 运算符之前,可以加上Not关键词,表示不类似的意思,例如:

 

[姓名] Not Like '李*'

 

表示姓名不是以“李”开头,也就是不是姓李的。

5楼
yacity 发表于:2011/8/13 8:42:00

把 规格 10*12*0.05  改成 10X12X0.05 吗? 把*改成 XYZ 的 X 吗?

录入的时候多不方便呀。

6楼
狐狸爸爸 发表于: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编辑过]
7楼
yacity 发表于:2011/8/13 8:46:00
谢谢 我发现 把 Textbox 的属性 中文输入 设置为 TRUE 当 10 变成10(全角)即 10*12*0.05(全角) 这样是可以使用的。
8楼
狐狸爸爸 发表于:2011/8/13 8:46:00
看六楼
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.