【发布时间】:2016-12-17 06:15:15
【问题描述】:
我在 Access 数据库中有一个表格,其中填充了数据。它的填充时间超过 25 年,因此存在不一致。
有一列但是没关系。我想用这个列来修复另一列中的数据。示例如下:
Column1 | Column2
ICDS-1 | 01
ICDS-1A | 1A
ICDS-2 | 02
ICDS-3 | 3
ICDS-4A | 04
OTHER |
...
我想要对 Access VBA 宏执行的操作只是使用 Column1 中的数据并将其拆分为连字符。 如果没有连字符,则应跳过该行:
Column1 | Column2
ICDS | 1
ICDS | 1A
ICDS | 2
ICDS | 3
ICDS | 4A
OTHER |
...
虽然这似乎是一项相当简单的任务,我可以在 Excel 中立即完成,但我似乎无法开始使用 Access VBA,即使已经在谷歌上搜索了一段时间。
还是我走错了路,我应该使用一些 SQL 查询吗?
感谢任何帮助。谢谢。
更新: 使用 OpiesDad 回答以下 VBA 代码(现在带有实际的表和列名)进行替换,除了它不会跳过没有连字符的行(我在我上面的问题):
DoCmd.RunSQL
"UPDATE [MASTER TABLE]
SET [SERIES ABB] = Left([SERIES ABB], InStr([SERIES ABB], ""-"") - 1),
[# IN SERIES] = right([SERIES ABB], Len([SERIES ABB]) - InStr([SERIES ABB], ""-""))"
更新 2: 已解决,请参阅 OpiesDad 答案以及最终查询和 VBA 代码。
【问题讨论】:
标签: sql database vba ms-access sql-update