Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

多条件的查询中遇到的问题

天外来客  发表于:2018-01-14 14:30:28  
复制

各位高人,小弟正在试着用Access遍个小软件,为了工作方便。目前遇到多项条件搜索中遇到一些困难。
我的想法是:在主窗体[主窗体1-查询-机床刀具信息]中的[机床_ID][Tool_Code][Order_No]中输入部分条件,即有时候输入一个或多个条件(条件有时要用*),能满足条件的要求的,显示在主窗体中插入的子窗体上显示对应的内容。(其中Order_No对应的是部件信息1,2,3)

其中:我想在3个条件中都支持用*的模糊搜索,特别是在[Order_No]中输入条件后,我想让系统在MachineTool_list中的 [部件信息1],[部件信息2]][部件信息3]中只要有满足条件的,都显示出来。


我看过一下在Access网上的文章,我尝试在我做的这个[查询机床刀具]的里面的字段中添加一个查询字段:[机床_ID] & [Tool_Code] & [部件信息1],同时在条件中写入
Like IIf(IsNull([Forms]![主窗体1-查询-机床刀具信息]![机床_ID] & [Forms]![主窗体1-查询-机床刀具信息]![tool code] & [Forms]![主窗体1-查询-机床刀具信息]![Order_No]),'*','*' & [Forms]![主窗体1-查询-机床刀具信息]![机床_ID] & [Forms]![主窗体1-查询-机床刀具信息]![tool code] & [Forms]![主窗体1-查询-机床刀具信息]![Order_No] & '*')


问题1:但为什么我在Tool Code中搜索1100时,子窗体显示Tool code中为什么有1000和1005。


问题2:如何[Order_No]中输入条件后,我想让系统在MachineTool_list中的 [部件信息1],[部件信息2]][部件信息3]中只要有满足条件的,都显示出来,如何编写点击下载此附件


万分感谢!

 

Top
朱先生 发表于:2018-01-14 15:11:19
问题1:将最后的 &‘*’  去掉 

天外来客 发表于:2018-01-14 22:01:21
我试了一下,去掉最后的& '*' 确实只能搜出1100,但我要是想搜开头是1100的信息是什么的时候,我就要输入1100* 。但还是出现1005,1000.所以楼上的回答好像不太完美。不过,还是谢谢您。

西出阳关无故人 发表于:2018-01-16 11:12:49

你的code为1005和1000的数据如下:

[机床_ID]    [Tool_Code]   [部件信息1])

H1001        1000             

H1001        1005

所以查询三个字段的值联合   [机床_ID] & [Tool_Code] & [部件信息1]   的结果如下:

H10011000

H10011005

即第5位到第8位是“1100”,所以输入1100* 。所以还是出现1005,1000.要避免这种情况发生,建议在连接不同字段的字符串的时候,添加一个特殊字符进行,如:

H1001、1000

H1001、1005

这样就ok!


至于你想输入1100*,获得Tool_Code字段中以1100开头的所有记录,那就不能用字符串连接的然后设置条件方式查询,而是一个字段一个条件的方式:

select ... from ... where Tool_Code like ‘1100*’  and 机床_ID like ...



天外来客 发表于:2018-01-28 20:27:42
上面的楼主说的很清楚,谢谢您!

总记录:4篇  页次:1/1 9 1 :