- ベストアンサー
Access2002 フィールドの分割方法について教えてください
度々すみません。 あるテーブルに、「車のナンバー」が入っています。 作った当初、あまり後のことを考えなかったらしく、 「地域」「数字」「ひらがな」「ナンバー」がひとつのフィールドに入っています。 ex)和歌山300す1234 なにわ55た567 この度、ある事情で、このフィールドを「地域」「数字」「ひらがな」「ナンバー」の4つのカテゴリーに分割しなければならなくなりました。 よい解決策がありましたら教えていただきたく存じます。 「地域」は全て2バイト文字ですが、文字数は不規則です。 「数字」は全て半角数字です。 「ひらがな」は一文字の2バイト文字です。 「ナンバー」は半角数字ですが、3桁と4桁があります。 全角、半角、全角、半角、という順序なので、ここら辺にヒントがあるのかな、と思ってはいるのですが、なにせスキルが・・・。 みなさんのお知恵を貸してください!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
処理性能をどこまで求めているのかわかりませんが、1文字づつ判別して分離する例です。 数字じゃない、数字、数字じゃない、数字、が繰り返し現れるとすると Dim sRet(1 To 4) As String Dim sTmp As String Dim i As Integer, j As Integer Dim ss As String ss = "あいう123かきく4567" For j = 1 To 4 sRet(j) = "" Next i = 0 For j = 1 To Len(ss) sTmp = Mid(ss, j, 1) If (sTmp Like "[0-9]") Then If ((i Mod 2) <> 0) Then i = i + 1 Else If ((i Mod 2) = 0) Then i = i + 1 End If sRet(i) = sRet(i) & sTmp Next ' For j = 1 To 4 ' Debug.Print sRet(j) ' Next Debug.Print の結果は以下 あいう 123 かきく 4567 ※ テーブルへの設定の仕方は、方法含め自由です
その他の回答 (1)
正規表現/置換/文字列切り分け などを使用すればできるでしょう。 参考 http://www.f3.dion.ne.jp/~element/msaccess/AcResSnippetRegExp.html VBAは嫌いなので、具体的コードまでは踏み込む気になれません(^^;
お礼
いつもお世話になっております。 参考ページを元に、勉強してみます。 ありがとうございました。
お礼
ありがとうございました。