Val関数

 文字列から取り出した数値を返します。

使用例

表記例戻り値例説明
Val("12345人")12345後で見るように、数値以外の文字が含まれるとそこで読み込みが止まりますが、この場合は数値が正しく返されます
Val("12345.67")12345.67小数点は数値の一部とみなされます
Val("   12   345.67")12345.67スペース(全角/半角)があっても単に取り除かれるだけで、その前後のにある数字をつなげたものが1つの数値として返されます
Val("   12.34   56.78")12.34562つ目の小数点は数値とみなされず、その前の数値が返されます
Val("&O77")638進数表記は10進数に変換されます
Val("&HFF")25516進数表記は10進数に変換されます
Val("12,345.67")12カンマは数値の一部とみなされず、その前の数値が返されます
Val("&HFF")25516進数表記は10進数に変換されます
Val("12345.67")0全角は数値とみなされません。ただし出力は0となります
Val("abc12345.67")0英字や漢字等から始まる場合も0が返されます
Val(#2015/09/16 12:34:56#)2015日付を指定した場合でも"/"の前までは数値とみなされます

書式

Val(文字列)

備考

 Var関数と間違えるとエラーに見舞われますので注意してください_ _)
 文字が現れるまでの数値部分を取り出してくれるというだけの関数です。\やカンマがあるだけでもそれ以降は返されませんし、ましてや漢字等を完全に取り除いてくれるような機能はありません。さらに全角数字も0になるなど注意すべき点は多く、使い勝手はそれほどよくありません。
 \やカンマがあっても変換したり、全角数字を数値に変換したい場合はCInt関数(こちら)などを使ってください。
 なお、文字列から数字(1,2,3…)だけすべて取り出したい、という場合は下記の記事が参考になるかもしれません。

www.accessdbstudy.net