以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教loadfilter加载代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4429)

--  作者:exonjee
--  发布时间:2009/9/21 21:24:00
--  请教loadfilter加载代码

为什么下面代码不能进行匹配加载数据,
Dim txb2 As WinForm.TextBox = e.form.Controls("TxtB2")
With dataTables("炉次")
    .loadFilter ="[炉次编号] like \'*" & txb2.value & "*\'"
    .load()
End With


txb2必需输入完整的字符后才能加载。

Dim txb2 As WinForm.TextBox = e.form.Controls("TxtB2")
With dataTables("炉次")
    .loadFilter ="[炉次编号] like \'ASBC123\'"
    .load()
End With


--  作者:狐狸爸爸
--  发布时间:2009/9/21 21:26:00
--  

LIKE运算符

LIKE运算符用于将指定表达式的值和一个模式字符串进行比较,判断两者是否匹配。

你在LIKE 操作样式里可以使用多种通配符,如下所示:

%(百分号)
匹配任意个数的字符。

[](方括号)
匹配任何被包括在方括号里面的单个字符。

!(感叹号)
匹配任何不属于被方括号所包含的字符。

-(连字符)
用于指定一个字符范围。

例如:

Like \'C%\',

表示以字符C开始的值。

Like \'P[A-F]%\'

表示以字母P开头、而其后接着介于A到F之间的任何一个字母,最后是任意个数的任何字符。

找出客户表中的贸易公司:

SELECT * FROM {客户} WHERE 公司名称 LIKE \'%贸易%\'

找出客户ID不是以字母A或B字母的客户:

SELECT * FROM {客户} WHERE 客户ID LIKE \'[!AB]%\'

找出客户ID以字母A、B、C、D中任何一个开头的客户:

SELECT * FROM {客户} WHERE 客户ID LIKE \'[A-D]%\'

可以利用NOT关键词进行反向操作,例如:

SELECT * FROM {客户} WHERE 公司名称 NOT LIKE \'%贸易%\'

找出所有非贸易公司。 


--  作者:exonjee
--  发布时间:2009/9/21 21:50:00
--  

为什么开始日期和结束日期只输入一个时会报错,代码哪块有问题?

Dim tpk1 As WinForm.DateTimePicker = e.form.Controls("datetimepicker1")
Dim tpk2 As WinForm.DateTimePicker = e.form.Controls("datetimepicker2")
if  tpk2.text is nothing and tpk1.text isnot nothing then
    With dataTables("炉次")
         .loadFilter =  "[日期] =#" & tpk1.text & "#"
         .load()
    End With
end if
if tpk1.text isnot nothing and tpk2.text isnot nothing then
    With dataTables("炉次")
         .loadFilter =  "[日期] >=#" & tpk1.text & "# and [日期] <=#" & tpk2.text & "#"
         .load()
    End With
end if

[此贴子已经被作者于2009-9-21 21:57:38编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/9/22 7:45:00
--  
代码中的Text换成Value,例如:

if  tpk2.Value is nothing and tpk1.Value isnot nothing then

--  作者:epilight
--  发布时间:2009/9/22 8:51:00
--  

学习

[此贴子已经被作者于2009-9-22 8:51:12编辑过]

--  作者:blackzhu
--  发布时间:2009/9/22 8:52:00
--  

这段代码是模糊筛选的

CurrentTable.Filter = ""
Dim Filter As String
With e.Form.Controls("ListBox1")
    If .Value IsNot Nothing Then
        Filter = "\'*" & .Value & "*\'"
    End If
End With
If Filter > "" Then
    Tables("常用代码").Filter = "cz Like " & Filter & " Or dm Like " & Filter & " Or sm Like " & Filter & " Or lx Like " & Filter & " Or dmwz Like " & Filter 




我想问一下改成模糊加载应该怎么改?


--  作者:exonjee
--  发布时间:2009/9/22 8:58:00
--  
以下是引用blackzhu在2009-9-22 8:52:00的发言:

这段代码是模糊筛选的

CurrentTable.Filter = ""
Dim Filter As String
With e.Form.Controls("ListBox1")
    If .Value IsNot Nothing Then
        Filter = "\'*" & .Value & "*\'"
    End If
End With
If Filter > "" Then
    Tables("常用代码").Filter = "cz Like " & Filter & " Or dm Like " & Filter & " Or sm Like " & Filter & " Or lx Like " & Filter & " Or dmwz Like " & Filter 




我想问一下改成模糊加载应该怎么改?


这样试下

CurrentTable.Filter = ""
Dim Filter As String
With e.Form.Controls("ListBox1")
    If .Value IsNot Nothing Then
        Filter = "\'%" & .text & "%\'"
    End If
End With
If Filter > "" Then
    Tables("常用代码").Filter = "cz Like " & Filter & " Or dm Like " & Filter & " Or sm Like " & Filter & " Or lx Like " & Filter & " Or dmwz Like " & Filter


--  作者:blackzhu
--  发布时间:2009/9/22 10:21:00
--  
以下是引用exonjee在2009-9-22 8:58:00的发言:


这样试下

CurrentTable.Filter = ""
Dim Filter As String
With e.Form.Controls("ListBox1")
    If .Value IsNot Nothing Then
        Filter = "\'%" & .text & "%\'"
    End If
End With
If Filter > "" Then
    Tables("常用代码").Filter = "cz Like " & Filter & " Or dm Like " & Filter & " Or sm Like " & Filter & " Or lx Like " & Filter & " Or dmwz Like " & Filter

  我要模糊加载。"loadfilter"


--  作者:exonjee
--  发布时间:2009/9/22 11:12:00
--  
dataTables("常用代码").loadFilter = "cz Like " & Filter & " Or dm Like " & Filter & " Or sm Like " & Filter & " Or lx Like " & Filter & " Or dmwz Like " & Filter
dataTables("常用代码").load()
--  作者:blackzhu
--  发布时间:2009/9/22 11:32:00
--  
以下是引用exonjee在2009-9-22 11:12:00的发言:
dataTables("常用代码").loadFilter = "cz Like " & Filter & " Or dm Like " & Filter & " Or sm Like " & Filter & " Or lx Like " & Filter & " Or dmwz Like " & Filter
dataTables("常用代码").load()

这个我试过的,不行!