<track id="9vv7v"><strike id="9vv7v"><rp id="9vv7v"></rp></strike></track>
<pre id="9vv7v"></pre>
    
    

        
        

              <pre id="9vv7v"><strike id="9vv7v"></strike></pre>

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

              常見問答:

              技術分類:

              相關資源:

              專欄作家

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