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源碼網店

常見問答:

技術分類:

相關資源:

專欄作家

關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助