Office中国论坛/Access中国论坛

标题: 数据类型的字段怎么筛选 [打印本页]

作者: aknier    时间: 2011-3-31 10:42
标题: 数据类型的字段怎么筛选
本帖最后由 aknier 于 2011-3-31 13:49 编辑

Private Sub Text11_Change()

Dim tj As String
tj = Me.Text11.Text


Dim Myfilter As String
Myfilter = "指令 like '*" & tj & "*'"
注:其中字段“指令”数据类型是长整型,请问上面这句代码该怎么修改,因为文本框Text11只能筛选string的数据类型。

Myfilter = Myfilter & "or 内容 like '*" & tj & "*'"


Me.[记事子窗体].Form.Filter = Myfilter
Me.[记事子窗体].Form.FilterOn = True
Me.[记事子窗体].Requery


End Sub

作者: 轻风    时间: 2011-3-31 11:33
既然是数据类型,就不能用LIKE,也不用单引号,数据比较用=, >, <, >=, <=, <>
作者: aknier    时间: 2011-3-31 12:16
就是能不能用str函数转化成文本呢?但程序具体怎么写不会!
作者: 轻风    时间: 2011-3-31 13:56
你把字段改成文本型
作者: aknier    时间: 2011-4-1 10:05
我就是问问不用 把字段改成文本型能实现吗???
作者: aknier    时间: 2011-4-1 22:19
我是个菜鸟,上面的程序也是抄的别人,所以如果可以编程的话,那就告诉下,如果编程不能实现的,那我只能改字段属性了
作者: 鱼儿游游    时间: 2011-4-14 23:58
本帖最后由 鱼儿游游 于 2011-4-15 00:13 编辑

已测试通过的方法(注意:ADO记录集的话,不能用 *,  而应用 % ),供楼主参考。
一、在ACCESS 如下处理:
1、数值型的字段:
Myfilter = "CStr(Nz(指令,''))" & "  like  '*'"
2、日期型的字段:
Myfilter = ”Format(Nz(" &  <日期字段名>  & ",''), 'yyyy-mm-dd hh:mm:ss')"   & "  like  '*'“
二、在SQL_Server 如下处理:
1、数值型的字段 同 字符型字段一样,直接用 LIKE
2、日期型的字段:
Myfilter="Convert(varchar(60), " &  <日期字段名>   & ", 20)"


作者: zyz218    时间: 2011-4-15 00:43
日期
Myfilter = "指令 like #" & tj & "#"
数字
Myfilter = "指令 = " & tj & ""





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3