Access快速开发基础教程
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 源码示例

Access拆分账号和姓名的实例,Access拆分开户行与账号的实例,Access分拆银行卡号与户名的实例

时 间:2022-07-13 12:54:26
作 者:yihui   ID:45044  城市:上海
摘 要:Access拆分账号和姓名的实例,Access拆分开户行与账号的实例,Access分拆银行卡号与户名的实例。
正 文:

一、学员问题描述:
请老师指教,系统中开户银行及账号是在一起的,能分开吗?有空的赐教一下,开户银行的汉字拆分出来,银行账号的数字(其实是文本型)拆分出来?如下图:


数据模拟化如下:
A
张三11111
李四三11131210
王王立五01122121

      微信学习群里老师纷纷支招,对比下来,处理方式最快捷是用正则直接提取文字和文本就行,因为字符很有规律,前半截是文本,后半截是数字。
      但考虑到有些不会vba的学员,因此我尝试用函数的方式来解决。
      想到val函数可以提取数字,StrReverse 可以翻转文本 那是不是可以先把文本反转,然后把数字提取后再反转回去,从而达到效果呢。经测试,能实现效果。

方式及思路如下
1、将文本后缀加一个非0数字,防止以0结尾的数字,反转后丢失了末尾数字0  例如张三111110 转变了张三1111101
2、将得到的新文本用StrReverse反转 得到1011111三张,用val提取前面的数字 得到1011111
3、数字处理,重新反转得到的数字,重到1111101,并用left函数截取,不取最后一位 得到11110
4、用left函数取文本,截取不包含数字的部分。

代码如下
SELECT 表1.A, [A] & 1 AS 辅助用, Left(StrReverse(Val(StrReverse([A] & 1))) ,Len(StrReverse(Val(StrReverse([A] & 1))))-1) AS 账号, Left(a,len(a)-Len(Left(StrReverse(Val(StrReverse([A] & 1))),Len(StrReverse(Val(StrReverse([A] & 1))))-1))) AS 姓名

FROM 表1;


案例如下

点击下载此附件


通过查询实现的方法

点击图片查看大图


拆分后的结果

点击图片查看大图



Access软件网官方交流QQ群 (群号:312594938)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助