Access交流中心

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

回复 加入收藏帖  复制
我要提问 帖子上移

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

天外来客 等级: 普通会员 积分:2 金币:40 来自:南开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]中只要有满足条件的,都显示出来,如何编写点击下载此附件


万分感谢!

 

access培训  诚聘access开发人员

    天外来客
      获得社区协助:请教问题(即发帖)6篇,其中获得解决的3篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章1篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Top
朱先生 等级:普通会员 积分:575 金币:0 来自:南通Access交流中心 发表于2018/1/14 15:11:19 
1楼 得分: 0
问题1:将最后的 &‘*’  去掉 

    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    朱先生
      获得社区协助:请教问题(即发帖)0篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)1160篇,其中被设为【最佳答案】的243篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
天外来客 等级:普通会员 积分:2 金币:40 来自:南开Access交流中心 发表于2018/1/14 22:01:21 
2楼 得分: 0
我试了一下,去掉最后的& '*' 确实只能搜出1100,但我要是想搜开头是1100的信息是什么的时候,我就要输入1100* 。但还是出现1005,1000.所以楼上的回答好像不太完美。不过,还是谢谢您。

    天外来客
      获得社区协助:请教问题(即发帖)6篇,其中获得解决的3篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章1篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
西出阳关无故人 等级:普通会员 积分:392 金币:40 来自:安顺Access交流中心 发表于2018/1/16 11:12:49 最佳答案
3楼 得分: 2

你的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 ...



    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    西出阳关无故人
      获得社区协助:请教问题(即发帖)18篇,其中获得解决的9篇;
      协助社区成员:协助他人(即回帖)667篇,其中被设为【最佳答案】的173篇;
      协助我们社区:发布技术文章1篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
天外来客 等级:普通会员 积分:2 金币:40 来自:南开Access交流中心 发表于2018/1/28 20:27:42 
4楼 得分: 0
上面的楼主说的很清楚,谢谢您!

    天外来客
      获得社区协助:请教问题(即发帖)6篇,其中获得解决的3篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章1篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
总记录:4篇  页次:1/1 9 1 :
您还没有在Access软件网登录不能回复帖子
  • 你没有登录,请点击后面链接登录:登录
  • 如果你没有注册,请点击后面链接注册:注册,注册完成后,请再次访问本页功能。