cczjw 发表于 2009-2-18 18:35:00

[求助]数据库选择集的筛选条件问题

不好意思,又是筛选条件的问题:
有一选择集adoRs,其中有一字段file存放一文件名,现欲选出文件后4位为".DWG"的记录,用了下面的条件式不行:
这样:adoRs.Filter = "Right((adoRs.Fields('file')), 4)='.DWG'"    报单引号错,用双引号又报无语句结束错。
这样:adoRs.Filter = "Right(adoRs.Fields(""file""), 4) ="".DWG"""   则报参数类型错。
请教该怎样改正?谢谢!

fjfhgdwfn 发表于 2009-2-18 22:38:00

where file like "%.dwg"
详细查下LIKE的用法吧

fjfhgdwfn 发表于 2009-2-18 22:48:00

在使用查询语句时,请记住,查询语句就是一个字符串。你用VB中的函数什么的都是不认的。
如果要使用变量。必须这样 " ..." & 变量名 & " ..."

cczjw 发表于 2009-2-19 12:10:00

但我想在选择集的过滤器(adoRs.filter=)中使用,like能不能用呢?
---------------------
问题是:不用函数right()就不报错:
adoRs.Filter = "file =""blk1420000-1.dwg"""       //两个双引号在字符串中代表一个双绰号
按说字段file出来的就是字串,用函数后Right(file,4) 应还是字串,怎么
adoRs.Filter = "Right(file,4) =""blk1420000-1.dwg"""   会出错呢?

cczjw 发表于 2009-2-19 13:01:00

同样是关于引号的问题,欲将
&nbspicture1.Picture=LoadPicture("D:\Pic\Girl.jpg")中的路径和文件名分别改为变量 path="E:\test\" 和 filet="test.jpg" 该怎样改呢?谢谢!

fjfhgdwfn 发表于 2009-2-19 13:59:00

&nbspicture1.Picture=LoadPicture(path & filet)

cczjw 发表于 2009-2-19 15:49:00

OK!
Picture1.Picture=LoadPicture(path & filet)
这个正确,多谢指教!

cczjw 发表于 2009-2-19 19:43:00

但最早的问题(1楼)还是未完全解决。总之一用right()之类的字串函数就出状况。
不过先用了2楼的办法去掉right()函数改=为 like 也能达我的目的。ACAD VBA支持 like
谢谢2楼指教!

fjfhgdwfn 发表于 2009-2-19 21:18:00


讲了,他只认为你的adoRs.Filter = 后边的 right()之类的就是一个字符串。肯定会报错的啊。你相法用right可以取字串的几个字母。他根本不认你的啊。
例如:
tex="123"
在筛选时,不能用直接用=tex ,要用 =& tex,才行。

cczjw 发表于 2009-2-20 09:32:00

唔,我再理理看。TKS
页: [1]
查看完整版本: [求助]数据库选择集的筛选条件问题