• ベストアンサー

Access2002 フィールドの分割方法について教えてください

度々すみません。 あるテーブルに、「車のナンバー」が入っています。 作った当初、あまり後のことを考えなかったらしく、 「地域」「数字」「ひらがな」「ナンバー」がひとつのフィールドに入っています。 ex)和歌山300す1234 なにわ55た567 この度、ある事情で、このフィールドを「地域」「数字」「ひらがな」「ナンバー」の4つのカテゴリーに分割しなければならなくなりました。 よい解決策がありましたら教えていただきたく存じます。 「地域」は全て2バイト文字ですが、文字数は不規則です。 「数字」は全て半角数字です。 「ひらがな」は一文字の2バイト文字です。 「ナンバー」は半角数字ですが、3桁と4桁があります。 全角、半角、全角、半角、という順序なので、ここら辺にヒントがあるのかな、と思ってはいるのですが、なにせスキルが・・・。 みなさんのお知恵を貸してください!

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.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 ※ テーブルへの設定の仕方は、方法含め自由です

camo-tech
質問者

お礼

ありがとうございました。

その他の回答 (1)

noname#182251
noname#182251
回答No.1

正規表現/置換/文字列切り分け などを使用すればできるでしょう。 参考 http://www.f3.dion.ne.jp/~element/msaccess/AcResSnippetRegExp.html VBAは嫌いなので、具体的コードまでは踏み込む気になれません(^^;

camo-tech
質問者

お礼

いつもお世話になっております。 参考ページを元に、勉強してみます。 ありがとうございました。

関連するQ&A