访问查询问题以显示部分匹配并使用部分作为查询来获取匹配

时间:2018-02-02 11:55:41

标签: ms-access

我有一个Access DB 2表 表1包含具有机器规格的经过审核的机器 另一个带有磁盘驱动器型号列表,第二列说明它是SSD还是Mech Drive。 不幸的是,1st Table在磁盘模型中有任何USB驱动器,因此示例如下所示: SAMSUNG MZNTY256HDHP-000 SCSI磁盘设备,Apricorn Padlock 3.0 USB设备,SanDisk ExtremePro USB设备

vs

SAMSUNG MZNTY256HDHP-000 SCSI磁盘设备

不幸的是,当它点击上面的记录时,它会完全忽略我的磁盘模型表中的条目,并提供一个空白字段而不是SSD。

关于我如何才能让它只比较第一个逗号之前的文字并提供命中的任何想法。

我很感激您的帮助。

1 个答案:

答案 0 :(得分:1)

不是加入2个表格,而是首先提取您想要的作品 - 在查询中添加类似

的字段
ExtractedName:left(DiskName(instr(DiskName & ",", ",")-1)

然后为此字段添加条件以选择与第二个表中的名称匹配的记录。

注意 - 将额外的逗号附加到DiskName会处理名称中没有逗号的情况 - 否则,这些名称将为Instr函数返回0,并且与第2个表不匹配(并且会导致误差)。

更正语法:

ExtractedName:left(Physical_Disk_Models,instr(Physical_Disk_Models & ",", ",")-1)