小编TSS*_*TSS的帖子

将逗号分隔的字段解析为单独的字段(MS ACCESS VBA 2003)

我继承了一个数据库,其中用户输入字段存储为逗号分隔的字符串.我知道.瘸.我想要一种方法来解析SELECT查询中的这些字段,其中有三个不同数量的字符段.与我将字段插入新表或创建存储过程来执行此操作的所有建议相反,这就是我想出的.我想知道是否有人看到任何缺陷这样做作为一个选择查询(我可以很容易地从字符串转换为解析,然后根据需要再次返回).

Field_A
5,25,89
Run Code Online (Sandbox Code Playgroud)

所以要获得左段,这是最直接的:

Field_1: Left$([Field_A],InStr([Field_A],",")-1)
Run Code Online (Sandbox Code Playgroud)

要获得最正确的细分:

Field_3: Right$([Field_A],Len([Field_A])-InStrRev([Field_A],","))
Run Code Online (Sandbox Code Playgroud)

中段是最棘手的:

Field_2: Mid([Field_A],InStr([Field_A],",")+1,InStrRev([Field_A],",")-InStr([Field_A],",")-1)
Run Code Online (Sandbox Code Playgroud)

结果是:

Field_1   Field_2   Field_3
5           25        89
Run Code Online (Sandbox Code Playgroud)

任何同意的意见?

ms-access comma access-vba delimited-text

5
推荐指数
2
解决办法
3万
查看次数

标签 统计

access-vba ×1

comma ×1

delimited-text ×1

ms-access ×1