以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数值列可以模糊查询吗?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=44115)

--  作者:小刚
--  发布时间:2013/12/23 15:14:00
--  [求助]数值列可以模糊查询吗?

我有很多款项,设置的是双精度列,现在想在数值列中模糊查询,不知道怎么查?

 

我知道字符类的可以这样查

Dim khmc As WinForm.TextBox = e.Form.Controls("客户名称")

Tables("应收货款").Filter="客户名称 like \'*" & khmc.Text & "*\'"
这是查询客户名称的
 
有时候 客户不付零头的
比如  3465.26   他只付款3465
我只查3465  
不用从很多数据里面找到3465是那一家的货款的
不可能一个一个的找
只有查询筛选
但是不知道数值列该怎么查询
请求指点

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

图片点击可在新窗口打开查看此主题相关图片如下:qq图片1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-12-23 15:15:33编辑过]

--  作者:Bin
--  发布时间:2013/12/23 15:17:00
--  
那你查找 3465 和 3465.99 之间的不也是一样的效果吗?
--  作者:程兴刚
--  发布时间:2013/12/23 15:18:00
--  

1、不可以;

2、您的逻辑思维存在问题!


--  作者:小刚
--  发布时间:2013/12/23 15:21:00
--  
以下是引用程兴刚在2013-12-23 15:18:00的发言:

1、不可以;

2、您的逻辑思维存在问题!

怎么有问题?不如,我查询上面数值列内包含45字符的行,不能实现吗?


--  作者:Bin
--  发布时间:2013/12/23 15:21:00
--  
看2楼的方案是否能满足你需求
--  作者:程兴刚
--  发布时间:2013/12/23 15:23:00
--  

首先,庞大的数据库,您不可能能记住3465,为什么要查询这个3645呢,肯定是付款的客户向您有提示性的查询(很多时候,就是付款人他也不一定能记住这个数,既然提示,那就应该先筛选单位,从单位中将这些数罗列出来,再去找到这一笔帐的来龙去脉。

其次,一个客户可能会产生很多这样的数据,查数据总比查单位的工作量要多得多,应该逐步缩小范围,比如再加上时间段作为判断条件。


--  作者:小刚
--  发布时间:2013/12/23 15:23:00
--  

假如说把该列改成字符列了,那倒是可以查询的,但是又怎么跟别的列相加减呢?

就是说字符列的数字,怎么变成 数值呢?像VB中的Vol(...)


--  作者:jspta
--  发布时间:2013/12/23 15:24:00
--  
你查找的时候只要查>=3456 and <3457 就可以了,不就相当于模糊了吗?
--  作者:小刚
--  发布时间:2013/12/23 15:30:00
--  

程老师,不是这样子。我说的是实实在在存在的日常事情。

我们公司收了很多支票,都有记录在数据库里面的。

由于很多都是期票,我们又转付给了别的公司。

现在由于各种原因(比如账上没钱啊等等),退票了。

我们拿到了退票,比如说是5800.58元。

但是,我们想不起来是那一家付给我们的。

我们只有去筛选了。

筛选5800.58,就出来了。

你说这种情况,在现实应用中不存在吗?

 

有时候记录或许零头没有登记,那模糊筛选,我们觉得是最好的办法。

比如只筛选5800,不是更好?

[此贴子已经被作者于2013-12-23 15:31:05编辑过]

--  作者:lsy
--  发布时间:2013/12/23 16:04:00
--  
可以的,如果不嫌数值位数多,系统负担重,尽管用高精度小数好了,像比较字符串一样的方便,但又能比较出数值的大小。