アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESS2002初心者です。
ACCESSのフォーム上で市外局番から入力する『電話番号』というテキストボックスがあります。
この電話番号を「市外局番」・「市内局番」・「局番」それぞれを切り取りレポートに印字されるように、
コントロールソースに書く関数を教えていただきたいです。

入力型は【000-000-0000】または【00-0000-0000】【0-00000-0000】
といったように市外局番、市内局番ともに文字数が変わります。

市外局番は
=Left([電話番号],Instr(1,[電話番号],"-")-1)
このクエリで表示されました。

局番は必ず下4桁なのでRight関数で表示されました。

問題は市内局番です。
=Mid([電話番号],InStr([電話番号],"-")+1)
このクエリだと市内局番から下は全て表示されてしまいます。
どうしたら良いでしょうか?

ご回答のほど、どうかよろしくお願いいたします。

A 回答 (1件)

Mid関数を利用するのであれば、


=Mid([電話番号],Instr([電話番号],"-")+1,InstrRev([電話番号,"-")-Instr([電話番号],"-")-1)
ですが
=Split([電話番号],"-")(1)
とすれば出ます。
    • good
    • 0
この回答へのお礼

短い式で出来る関数があったのですね。
Mid関数を使うものだとばかり思ってました。
Midでも出来ることがわかって勉強にもなりました。
ありがとうございました。早速使ってみます!

お礼日時:2009/02/09 23:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す