gpt4 book ai didi

sql - 将带分隔符的条目拆分为 Access 中的新行

转载 作者:行者123 更新时间:2023-12-04 18:24:12 24 4
gpt4 key购买 nike

所以有人给了我一个订单电子表格,每个订单的唯一值是 PO,给我电子表格的人很懒惰,决定使用具有多个 PO 的订单,但他们只是用相同的信息将它们分开“/”。所以例如我的 table 看起来像这样

PO             Vendor   State
123456/234567 Bob KY
345678 Joe GA
123432/123456 Sue CA
234234 Mike CA

我希望使用“/”符号作为分隔符来分隔 PO,所以它看起来像这样。

    PO         Vendor   State
123456 Bob KY
234567 Bob KY
345678 Joe GA
123432 Sue CA
123456 Sue CA
234234 Mike CA

现在我一直在集思广益地想出一些解决这个问题的方法。最终我希望在 Access 中获取这些数据。原始格式的数据在 Excel 中。我想做的是在 Access 中编写一个 vba 函数,我可以将它与 SQL 语句结合使用来分隔值。我现在很挣扎,因为我不确定从哪里开始。

最佳答案

关于这个:

1) 将源数据导入到名为 SourceData 的新 Access 表中。

2) 创建一个新的查询,直接进入SQL View 并添加以下代码:

SELECT * INTO ImportedData
FROM (
SELECT PO, Vendor, State
FROM SourceData
WHERE InStr(PO, '/') = 0
UNION ALL
SELECT Left(PO, InStr(PO, '/') - 1), Vendor, State
FROM SourceData
WHERE InStr(PO, '/') > 0
UNION ALL
SELECT Mid(PO, InStr(PO, '/') + 1), Vendor, State
FROM SourceData
WHERE InStr(PO, '/') > 0) AS CleanedUp;

这是 Access 术语中的“生成表”查询(尽管带有嵌套联合查询);相反,对于“附加”查询,将前两行更改为

INSERT INTO ImportedData
SELECT * FROM (

(其余部分不变。)不同之处在于重新运行生成表查询将清除目标表中已有的任何内容,而追加查询将添加到任何现有数据。

3) 运行查询。

关于sql - 将带分隔符的条目拆分为 Access 中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com