以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]数值列可以模糊查询吗? (http://foxtable.net/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
--
可以的,如果不嫌数值位数多,系统负担重,尽管用高精度小数好了,像比较字符串一样的方便,但又能比较出数值的大小。
|