我正在建立一个查询,该查询将添加一列用于编辑名称和编辑ID号的列。我目前有10个查询来编辑和添加与宏结合的列。如何将这个查询简化为一个?
我有一个包含以下内容的Excel电子表格: 名称1,新名称1,名称2,新名称2,ID 1,新ID 1,ID 2,新ID 2,ID 3,新ID3。
我填写名称1,名称2,ID 1,ID 2,ID3列,并将此工作表加载到名为Scrub的访问表中。
我还有一个名为NameEdit的电子表格,稍后会参考。
我运行宏,并导出带有其他列的新Excel工作表: 新名称1,新名称2,新ID 1,新ID 2,新ID 3 3
我目前有10个与宏结合的查询
在新列中:“新ID 1”设置ID 1的格式以添加前导零以使长度至少为7
如果ID 1的长度小于7,则删除任何新的ID1。
在新列中:“新ID 2”设置ID 1的格式以添加前导零以使长度至少为7
如果ID 2的长度小于7,则删除任何新的ID2。
在新列中,新建ID 3设置ID 3的格式以仅显示数字。 (删除特殊字符和字母)
如果相应的ID 3小于7,则删除新的ID 3。
在“新列”中,“新名称1”格式为“名称1”(INNERJOIN与另一个表)
在“新列”中,“新名称2”,格式为“名称2”(INNERJOIN与另一个表)
如果新ID 1,新ID 2和新ID 3都为空,则删除行
以格式导出
我对10个查询有很多代码,这里有一些。一些代码彼此相似。
添加列:新ID 1
UPDATE Scrub SET NewID1 = format(REPLACE([ID1],"-",""),"0000000");
如果ID1的长度小于7,则删除新的ID 1。
UPDATE SCRUB SET NEWID1 = "" WHERE LEN(ID1)<7;
添加列:新ID 3
UPDATE SCRUB SET NEWID3 = "" ID3 Like '*[a-z]*';
添加列:新名称1
UPDATE Scrub INNER JOIN NameEdit ON SCRUB.[Name1] = NameEdit.[Name] SET SCRUB.NewName1 = NameEdit.[Format];
删除
DELETE * FROM SCRUB WHERE LEN(NEWID1)=0 AND LEN(NEWID2)=0 AND LEN(NEWID3)=0;
我希望输出结果是一个包含新列的excel电子表格。 我遇到的问题是,NEWID3无法编辑以删除特殊字符。 同样,删除ID后,在excel中仍显示为空白。 最后,我想将所有这些组合到一个查询中。