Access 中的查找功能以插入基于文本字符串的结果

问题描述

我有一个数据库,该数据库基于在按需打印站点上松散创建的销售电子表格创建。所售产品的详细信息是这样的: 销售:2009 Saturn Sky Red Line Coupe 120 - 面罩 - 成人大号 - 数量:1一个字段可能是: 特卖:Hudson Hornet 4 门轿车 Twin H Power 喷漆 - 男士 T 恤(常规款)- 木炭色 - 2XLarge - 数量:1

有许多不同类型的产品,有些是相当重复的——例如 iPhone 6S 保护壳、iPhone 8 保护壳、iPhone 10 保护壳等等。

我想总结一下已售出的产品,但将它们按更一致的级别进行分组 - 即所有 iPhone 手机壳都会简单地写成“iPhone 手机壳”。所有 T 恤都会说“T 恤”。

所以我的想法是我可以在这些字段中搜索 iPhone,如果搜索成功,然后使用“iPhone 手机壳”更新一个新的产品字段。如果我找到T-Shirt,我就会查找它并将“T-Shirt”放在我的新字段中。

我想将这些替代项放在一个新表中,将要搜索的短语放在一列中,将选择的结果放在下一列中,但这些表之间没有真正的键。

很长的 If,then else,语句也可以这样做,但不够优雅!

史蒂夫

解决方法

看提供的两条数据,好像是多条数据用“-”组合而成,数据包括产品、产品类型、颜色(可选)、尺寸(可能是可选的)和数量。

在这种情况下我要做的是编写一些 VBA 代码来处理数据并对其进行规范化。您可能需要分阶段执行此操作,首先处理产品类型,然后是颜色、尺寸和产品。最后,您要将这些属性表中的所有外键添加到 Sales 表中。

下面的代码是我针对产品类型开始的代码,假设数据已导入 Access 的单个字段中名为 tblSalesData 的表中,并且还有另一个名为 {{ 1}} 有两个字段,ProductTypeID 和 ProductType。

tblProductType

问候,