ACCESS Str関数で数値を文字に変換する方法
ACCESSではデータ型を意識して値を扱う必要があります。
数値のデータとテキストのデータは別物として区別されるのですが時には数値データをテキストとして扱いたいときもあるでしょう。
そんな時に便利な、Str関数で数値を文字に変換する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。
Str関数
Str関数は数値を文字列に変換する関数です。
以下の構文で利用します。
Str ( 数値 )
結果はテキスト型の値として戻ってきます。
式 | 結果 |
Str(123) | ” 123″ |
Str(-123) | “-123” |
注意したいのは正の数の場合は値の前に半角スペースが入ってしまうことです。
そのため左のスペースを消すために、文字列の先頭にある空白を削除するLTrim関数と組み合わせて
LTrim(Str(数値))
として使う方が無難でしょう。
Str関数を利用するシーン
では、どんな時にStr関数を使うのでしょうか。
普通に考えれば数値や日付をテキストとして扱いたいときに利用すればよいと思います。
しかし、実はACCESSでは数値や日付でもある程度勝手に判断してテキストとして扱ってくれる時があるのです。
そのため、Str関数を使わなけばいけないシーンはほぼない、と言っても過言ではないでしょう。
例えば、以下のようなフォームを作成しました。
数値や日付を入力して変換ボタンを押すと、様々な形に変換するフォームです。
変換ボタンには以下のプロシージャを設定してあります。
Private Sub 変換_ボタン_Click()
'文字数
Me!文字数 = Len(Me!数値1)
'文字の取り出し
Me!取り出し = Mid(Me!数値1, 2, 3)
'連結
Me!連結 = Me!数値1 & Me!数値2
'テキスト化
Me!テキスト = LTrim(Str(Me!数値1))
'文字数
Me!日付文字数 = Len(Me!日付1)
'文字の取り出し
Me!日付取り出し = Mid(Me!日付1, 2, 3)
'連結
Me!日付連結 = Me!日付1 & Me!日付2
'テキスト化
Me!日付テキスト = LTrim(Str(Me!日付1))
End Sub
文字数ではLen関数、文字の取り出しはMid関数などの文字列操作型の変数を使っています。
これを数値や日付に対してダイレクトに使っており、最後のテキスト化だけStr関数を使っています。
では、実際に値を入力して結果を見てみましょう。
見ていただくとわかるのですが、文字数のカウントも文字の取り出しも連結も全く問題なくできています。
普通に考えると数値や日付に対して行うとエラーが出そうなものですが、これがなんとなくできてしまうのがACCESSの良いところでもあり悪いところでもあるかと思います。
むしろ、Str関数を利用すると数値を変換したときに最初に空白が入ってしまってうまく利用できないケースがあるので、無理にStr関数を使わなくてもよいと思います。
以上、Str関数で数値を文字に変換する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。