このサイトは、Access/ExcelとBitシリーズを活用し、顧客管理やマーケティングを行うために知っていると便利な実用的テクニックをご紹介するサイトです。
  各種データベースと連携 (Access/Excel/SQL Server/Oracle)
掲載記事
関連サイト






前のページへ戻る
Newsbit社ホームページ
Bitシリーズ
データベス制作業務
コンサルティング業務
ホームページ制作
インターネットマーケティングニュース
BitplusPRO
BitMailPRO
BitDelete
BitSearch
迷惑メール削除専用ソフトウェア
緊急連絡網用エクセルファイル
受注管理データベース
アドレス管理データベース
今回は、BitplusPROを使用してAccessのデータベースに取り込んだデータから不要な文字を取除いたりするテクニックをご紹介します。

例えば、テキスト型のフィールドに
500円(消費税込み)
という値が入っている場合、数値型のデータに変更しないと計算等に利用できませんので、数字以外の文字を取除く必要が出てくるのです。

こうした処理は文字列を処理する関数を使うと簡単に実現できて便利です。

使用する関数について
この処理を行う方法を2つ紹介します。
処理を行うために3つの関数を使用しますので、それぞれ簡単に説明します。
Val関数
この関数は、文字列を数値に変換してくれます。
次のように指定すると、
 val("5000円")
結果は、5000となります。
 val("\5000")
この場合、結果は、0となります。
つまり、文字列の左側からy読み込んで、数字以外の文字が出てくるとそこまでを数値として表示するのです。
 val("5,000円")
とすると、結果は、5となります。
つまり、(\)や(,)等も数字とは認識されないので注意が必要です。
InStr関数
この関数は、指定した文字が文字列の何文字目にあるかを表示します
次のように指定すると、
 InStr("5000円","円")
結果は、5となります。
 InStr("5000円",5)
この場合、結果は、1となります。
Left関数
この関数は、指定した文字列の左から指定した文字数分を取り出します。
次のように指定すると、左から3文字分取り出すことになりますので、
 Left("5000円",3)
結果は、500となります。
この他に文字列を処理するものとしてRight関数やLen関数、Mid関数など多数ありますが、取りあえず今回は、上記の4つを使って文字列を処理する方法をご説明します。
500円(消費税込み)→500 にする方法
下記の二つの方法をご紹介します。
 Val("500円(消費税込み)")
 Left("500円(消費税込み)",InStr("500円(消費税込み)","円")-1)

Val関数を使用した方法は説明する必要はないと思いますので、Left関数を使用した方法について説明します。

 Left("500円(消費税込み),3)
でも今回のように文字列が初めから500円(消費税込み)と分かっていればいいのですが、分からない場合のことも考えて最初にInStr関数でが何文字目にあるかを数えているわけです。
 InStr("500円(消費税込み)","円")
の結果は、4になりますから、1を引いて3文字目までをLeft関数で取り出せば、500になるわけです。

Accessのデータを処理する
次は、BitplusPROで、メールをAccessのMDBファイルに取り込んだ後に、余分な文字を処理してみましょう。
データは、下の画像のようになっています。

今回は、同じフィールドで直接データを書き換える方法をご紹介します。
その為に使用するクエリは、選択クエリではなく更新クエリです。
更新クエリは、レコードの更新の行の値や式でフィールドの値を更新します。

最初は、簡単なVal関数を使った方法です。
この方法は、先程の説明と同じで非常に簡単です。
ただし、今回のデータのようにカンマがない場合は問題ありませんが、値にカンマがあると使うことが出来ません。

そこで、この場合、円より前を取り出せば数値だけになるので次のように式を入力します。

先程説明した式と若干ことなりますが、その部分を簡単に説明しましょう。

IIf(InStr([金額],"円")>0,Left([金額],InStr([金額],"円")-1),[金額])

赤い文字の部分は、先に説明した部分ですが、そのままでは、円という文字がない場合にエラーになってしまいますので、IIf関数で円がある場合は、青文字とし、円がない場合は緑文字の処理を実行するようにしているわけです。

どちらの処理も実行すると、次のように円より後ろがなくなって数字だけが残ります。

まとめ
今回は、自分自身の値を更新する方法を説明しましたが、同じテーブル内の別フィールドに更新したデータを記録する方法や、別テーブルのフィールドに記録する方法など様々な処理が可能です。
また、今回は説明しなかったRight関数やLen関数、Mid関数などを使用すると値を自由に分割することが出来ますので、是非お試しください。

なお、9月12日にBitplusPRO5.0.2がリリースされています。
是非、BitplusPRO5.0.2をお試しください。
BitplusPRO最新版ダウンロード

   
  前のページへ戻る
  ▲ページトップへ
Copyright©2008 Newsbit co.,ltd.All Rights Reserved.