• ベストアンサー

アクセスのクエリで英数混在から数字表示させたい

こんにちは。 いま、アクセスを使ってコード(英字)と数字のまざっているデータを 数字だけ取り出して、表示するのに困っています。 名前、住所、コードというデータの並びが有って、 この「コード」というのが、最初にアルファベットが 数文字(文字数はランダム)、その後に数字が数桁入った データになります。 (例)hut558764、lwe41887 これをクエリの作業だけで、数字のみの表示にさせるには どういう式をいれたら良いのでしょうか? (例)558764、41887 また、式はどの部分に入れれば出来るのでしょうか? 宜しくお願い致します!

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

  • ベストアンサー
  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.2

クエリだけでは、無理なので 数値だけを取り出す関数を、標準モジュールに作り クエリの中から、その関数を使えば 可能です 標準モジュール *パブリックで Public Function Get_numeric(source_str As String) Dim leng As Integer Dim pos As Integer Dim suuchi As Variant suuchi = "" leng = Len(source_str) For pos = 1 To leng If Mid(source_str, pos, 1) >= 0 And Mid(source_str, pos, 1) <= 9 Then suuchi = suuchi & Mid(source_str, pos, 1) End If Next Get_numeric = suuchi End Function クエリでは、その関数を使います SELECT Get_numeric([テーブル2]![d1]) AS 式1, テーブル2.d1 FROM テーブル2; テスト結果 式1 d1 558764 hut558764 41887 we41887

rinateku
質問者

お礼

随分時間が経ってしまいましたがその節は有り難うございました!

その他の回答 (3)

noname#79209
noname#79209
回答No.4

私の場合は以下のような正規表現DLLを使っています。 http://www.hi-ho.ne.jp/babaq/bregexp.html

rinateku
質問者

お礼

随分時間が経ってしまいましたがその節は有り難うございました!

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.3

見落としていました。 >また、式はどの部分に入れれば出来るのでしょうか? これは、クエリのデザインビューでのことでしょうか? であればと言うことで・・ 式は、フィールドのところに書きます。 列名:式 の形です。 該当するフィールドのところで、マウスの右クリックでビルド画面が表示されるので、選択しながらも登録可能です。 また、列名はアクセスが勝手に、式1とか名称は付加します。 1つ前の回答が そうなっています。 自分で、入力しなおせば 変更可能です。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

     A        B 1   hut558764   558764 2   lwe41887    41887 B1=LOOKUP(10^10,RIGHT(A1,COLUMN(1:1))*1) ★下にコピー

rinateku
質問者

お礼

随分時間が経ってしまいましたがその節は有り難うございました!

rinateku
質問者

補足

回答有り難うございます。 これはエクセルですか? アクセスのクエリ部分に、B1という項目が無いのですが・・・。 あと、(例)はあくまでも(例)なので、英数とも どの字が出て来るかは不明です。 それともこの式をフィールドに入れたら良いのでしょうか?

関連するQ&A

専門家に質問してみよう