Access関数一覧

 Accessで使用できる関数の一覧です。
 クエリの式ビルダーで表示される組み込み関数の分類に沿って示しています。よって同じものが2度現れる場合があります。また、Join関数などのVBA関数は掲載していません。

 「関数/引数」欄をクリックするとそれぞれの関数の説明に進みます(一部の関数を除く)。たいていの場合、引数は全て即値(1とか"ABC"などの具体的な値)としていますが、Sum関数などのSQL集合関数やIIf関数などのプログラムフローに分類される関数の場合はテーブルのデータを参照して(クエリ上で)値を取得する例を示しています。

SQL集合関数

 SQLにより定義されている関数です。テーブルやクエリの列を引数として指定し集計・抽出の対象とするものですので、例えば同じMax関数でもExcelのように「Max(1,2,3,4,5)」といった形で使用することはできません(エラーとなります)。慣れないうちはちょっと戸惑いますし、実際不便なところかと思います。

関数/引数表記例説明
Avg(列名)Avg([点数])指定したフィールドに記録されている数値の平均値
Count(列名)Count([受験番号])指定したフィールドに記録されている値の個数
Max(列名)Max([点数])指定したフィールドに記録されている数値の最大値
Min(列名)Min([点数])指定したフィールドに記録されている数値の最小値
StDev(列名)StDev([点数])指定したフィールドに記録されている数値の標準偏差(標本標準偏差 分母=n-1)
StDevP(列名)StDevP([点数])指定したフィールドに記録されている数値の標準偏差(母標準偏差 分母=n)
Sum(列名)Sum([個数])指定したフィールドに記録されている数値の合計
Var(列名)Var([点数])指定したフィールドに記録されている数値の分散(標準分散 分母=n-1)
VarP(列名)VarP([点数])指定したフィールドに記録されている数値の分散(母分散 分母=n)

エラー処理

関数/引数表記例説明
AccessError()AccessError()
CvvErr()CvvErr()
Err()Err()
Error()Error()
Error$()Error$()
IsError()IsError()

データベース

関数/引数表記例戻り値例説明
ColumnHistory(レコードセット名,列名,検索条件)ColumnHistory("受注テーブル","状態","受注ID=1")[バージョン: 2015/12/26 16:56:26 ] 在庫確認中データ型が「長いテキスト」である列の値の更新履歴を返す
CurrentUser()CurrentUser()
CurrentWebUser()CurrentWebUser()
CurrentWebUserGroups()CurrentWebUserGroups()
Eval(評価対象)Eval("1+1=2")-1文字列や数値を式(関数)として評価(実行)した結果
HyperlinkPart(ハイパーリンク,抽出パート値)ハイパーリンクから抽出したアドレス等
IMEStatus()IMEStatus()3IMEの状態を表す数値
IsCurrentWebUserInGroup()IsCurrentWebUserInGroup()
Partition(値,区間の下限,区間の上限,各区間の幅)Partition(23,1,100,10) 21: 30値が属する区間(下限,上限,幅により設定される)を返す

テキスト

関数/引数表記例戻り値例説明
Asc(文字列)Asc("川")-28436文字列の最初の1文字の文字コード
AscW(文字列)AscW("川")24029文字列の最初の1文字のUnicode文字コード
BuildCriteria(フィールド名,データ型,検索値)BuildCriteria("商品コード",10,"00001 Or 00002")商品コード="00001" Or 商品コード="00002"Where条件に用いられる文字列
Chr(文字コード値)Chr(-28436)文字コードに対応する文字
Chr$(文字コード値)Chr$(-28436)文字コードに対応する文字
ChrW(Unicode文字コード値)ChrW(24029)Unicode文字コードに対応する文字
ChrW$(Unicode文字コード値)ChrW$(24029)Unicode文字コードに対応する文字
Format(文字列[,書式を指定する文字列,週初日の曜日,年の初週])Format(#2016/03/14#,"ggge\年m\月d\日")平成28年3月14日数値等を、指定した書式に基づき変換した文字列
Format$()
GUIDFromString()
HtmlEncode(文字列)文字列をHTMLエンコードした文字
InStr([検索開始位置,]文字列,検索対象文字列[,比較モード])
InStr("ABCDEあいうえおABCDE","B")ある文字列を別の文字列の中から探し、最初に見つかったものの位置
InStrRev(文字列,検索対象文字列[,検索開始位置,比較モード])InStrRev("ABCDEあいうえおABCDE","B")ある文字列を別の文字列の後ろから探し、最初に見つかったものの位置
LCase(文字列)LCase("ABCDE")abcde大文字を小文字に変えた文字列
LCase$(文字列)LCase$("ABCDE")abcde大文字を小文字に変えた文字列
Left(文字列,数値)Left("あいうえおかきくけこ",3)あいう文字列のうち最初の方(左側)から、指定した数値の長さの文字を取り出した文字列
Left$(文字列,数値)Left$("あいうえおかきくけこ",3)あいう文字列のうち最初の方(左側)から、指定した数値の長さの文字を取り出した文字列
Len(文字列)Len("一二三四五")文字列の文字数
LTrim(文字列)LTrim("   あいうえお   ")あいうえお   文字列の最初(左側)にある空白を取り除いた文字列
LTrim$(文字列)LTrim$("   あいうえお   ")あいうえお   文字列の最初(左側)にある空白を取り除いた文字列
Mid(文字列,開始位置[,文字数])Mid("あいうえおかきくけこ",6,3)かきく文字列のうち、開始位置以降の文字列
Mid$(文字列,開始位置[,文字数])Mid$("あいうえおかきくけこ",6,3)かきく文字列のうち、開始位置以降の文字列
PlainText(文字列[,数値])リッチテキストによる装飾やタグを除いた文字列を返す
Replace(文字列,検索対象文字列,置換後文字列[,開始位置,置換回数,比較モード])Replace("ABCあいうABCあいうABC","ABC","XYZ")XYZあいうXYZあいうXYZある文字列を別の文字列の中から探し、見つかったものをさらに別の文字列に置き換えた結果
Right(文字列,数値)Right("あいうえおかきくけこ",3)くけこ文字列のうち最後の方(右側)から、指定した数値の長さの文字を取り出した文字列
Right$(文字列,数値)Right$("あいうえおかきくけこ",3)くけこ文字列のうち最後の方(右側)から、指定した数値の長さの文字を取り出した文字列
RTrim(文字列)RTrim("   あいうえお   ")   あいうえお文字列の最後(右側)にある空白を取り除いた文字列
RTrim$(文字列)RTrim$("   あいうえお   ")   あいうえお文字列の最後(右側)にある空白を取り除いた文字列
Space(数値)指定した数値の数だけ、半角の空白を繰り返した文字列
Space$(数値)指定した数値の数だけ、半角の空白を繰り返した文字列
StrComp(文字列1,文字列2[,比較モード])StrComp("ABC","ABD")-12つの文字列の比較結果(ソート順)を表す値
StrConv(文字列,変換モード[,ロケールID])StrConv("access study",1)ACCESS STUDY指定した文字種に変換された文字列
String(数値,文字列)String(3,"-")---指定した文字を指定した数値の回数だけ繰り返した文字列
String$(数値,文字列)String$(3,"-")---指定した文字を指定した数値の回数だけ繰り返した文字列
StringFromGUID()
StrReverse(文字列)StrReverse("志國三")逆から並べた文字列
Trim(文字列)Trim("   あいうえお   ")あいうえお文字列の最初と最後にある空白を取り除いた文字列
Trim$(文字列)Trim$("   あいうえお   ")あいうえお文字列の最初と最後にある空白を取り除いた文字列
Ucase(文字列)Ucase("abcde")ABCDE小文字を大文字に変えた文字列
Ucase$(文字列)Ucase$("abcde")ABCDE小文字を大文字に変えた文字列

プログラムフロー

関数/引数表記例説明
Choose(数値,値1[,…,値i,…,値n])Choose([回答コード],"はい","いいえ","わからない","無回答")数値(i)に対応する値iを返す
IIf(条件式,真の場合の値,偽の場合の値)IIf([点数]>=60,"合格","不合格")条件式を評価した結果が真の場合と偽の場合に応じた値を返す
Switch(条件式1,値1[,…,条件式i,値i,…,条件式n,値n])Switch([年齢]>=65,"シルバーの部",[年齢]>=20,"成年の部",[年齢]<20,"未成年の部")最初にTrueと評価された条件式iに対応する値iを返す

メッセージ

関数/引数表記例説明
InpuxBox()
InpuxBox$()
MsgBox()

財務

関数/引数表記例説明
DDB()
FV(利率,期間数,各期投資額[,初期投資額,払込時期])FV(0.05,4,-10000)投資の将来価値
IPmt()
IRR()
MIRR()
NPer()
NPV()
Pmt()
PPmt()
PV(利率,期間数,各期収益額[,満期収益額,受取時期])PV(0.05,4,10000)収益の現在価値
Rate()
SLN(取得価額,残存価額,償却期間)定額法による償却額
SYD(取得価額,残存価額,償却期間,期)級数法による償却額

算術

 この種の関数に限ったことではありませんがExcelと比べて圧倒的に種類が少なく決して使い勝手が良いとはいえません。また、AtnやSqrのように名前が微妙に異なるものがありますので注意が必要です。

関数/引数表記例戻り値例説明
Abs(数値)Abs(-23)23数値の絶対値
Atn(数値)Atn(0.3)0.291456794477867数値に対するアークタンジェント値(ラジアン)
Cos(数値)Cos(1)0.54030230586814数値(ラジアン)に対するコサイン値
Exp(数値)Exp(2)7.38905609893065e(自然対数の底)のべき乗
Fix(数値)Fix(-3.2)-3数値の整数部分
Int(数値)Int(-3.2)-4数値以下の整数で最大のものの値
Log(数値)Log(10)2.30258509299405自然対数(底がe)
Rnd([数値])Rnd(-1)0.2240070104599(数値は省略可)ランダム値
Round(数値[,桁数])Round(2.245,2)2.24指定桁数で丸めた値(偶数丸め)
Sgn(数値)Sgn(-123)-1数値の符号
Sin(数値)Sin(1)0.841470984807897数値(ラジアン)に対するサイン値
Sqr(数値)Sqr(5)2.23606797749979数値の平方根
Tan(数値)Tan(1)1.5574077246549数値(ラジアン)に対するタンジェント値

定義域集合関数

関数/引数表記例説明
DAvg(列名,レコードセット名[,条件])DAvg("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値の平均値
DCount(列名,レコードセット名[,条件])DCount("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている値の個数
DFirst(列名,レコードセット名[,条件])DFirst("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている値のうち最初のもの
DLast(列名,レコードセット名[,条件])DLast("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている値のうち最後のもの
DLookUp(列名,レコードセット名[,条件])DLookUp("数学点数","成績テーブル","受験番号=3")テーブルやクエリの、指定した列に記録されている値
DMax(列名,レコードセット名[,条件])DMax("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値のうち最大のもの
Dmin(列名,レコードセット名[,条件])Dmin("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値のうち最小のもの
DStDev(列名,レコードセット名[,条件])DStDev("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値の標準偏差(標本標準偏差 分母=n-1)
DStDevP(列名,レコードセット名[,条件])DStDevP("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値の標準偏差(母標準偏差 分母=n)
DSum(列名,レコードセット名[,条件])DSum("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値の合計値
DVar(列名,レコードセット名[,条件])DVar("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値の分散(標本分散 分母=n-1)
DVarP(列名,レコードセット名[,条件])DVarP("数学点数","成績テーブル")テーブルやクエリの、指定した列に記録されている数値の分散(母分散 分母=n)

特殊評価

関数/引数表記例戻り値例説明
IsArray()IsArray()
IsDate()IsDate(#2015/09/16#)
IsEmpty()IsEmpty()
IsError()IsErrror()
IsMissing()IsMissing()
IsNull(値)IsNull("あいうえお")値がNullかどうかを表すブール型の値
IsNumeric(値)IsNumeric(12345)値が数値として評価できるかどうかを表すブール型の値
IsObject()IsObject()
TypeName(値)TypeName("こんにちは")String指定した値に関する情報を表す文字列
VarType(値)VarType("こんにちは")8値のサブタイプ(内部処理形式)を表す値

日付/時刻

関数/引数表記例戻り値例説明
CDate(値)CDate("平成27年9月16日 12:34:56")2015/09/16 12:34:56日付型に変換された値
CVDate(値)CVDate("2017/09/16 12:34:56")2017/09/16 12:34:56日付型に変換された値
Date()Date()2015/06/16システムの日付
Date$()Date$()2015-06-16システムの日付(文字列型)
DateAdd(基準単位,加算数値,基準日付時刻)DateAdd("d",1,#2015/09/15#)2015/09/16日付時刻に任意の間隔を加えた日付時刻
DateDiff(基準単位,日付時刻1,日付時刻2[,週初日の曜日,年の初週])DateDiff("yyyy",#2014/12/31#,#2015/01/01#)12つの日付時刻の差
DatePart(基準単位,日付時刻[,週初日の曜日,年の初週])DatePart("yyyy",#2015/03/15#)2015指定した日付時刻の年,月,日など(単位を指定)を表す値
DateSerial(年数値,月数値,日数値)DateSerial(2015,10,16)2015/10/16指定した年月日の数値により生成される日付
DateValue(日付時刻)DateValue()○○
Day(日付時刻)Day()○○
Hour(日付時刻)Hour(#2015/09/16 12:34:56#)12指定した日付時刻の時
IsDate(値)IsDate(#2015/09/16#)○○
Minute(日付時刻)Minute(#2015/09/16 12:34:56#)34
Month(日付時刻)Month()○○
MonthName(月数値[,月名省略フラグ])MonthName(5,False)5月月数値にもとづく月名
Now()Now()2015/06/20 23:57:33システムの日付時刻
Second(日付時刻)Second(#2015/09/16 12:34:56#)56
Time()Time()○○システムの時刻
Time$()Time$()○○システムの時刻(文字列型)
Timer()Timer()○○
TimeSerial(時数値,分数値,秒数値)TimeSerial(12,34,56)12:34:56指定した時分秒の数値により生成される時刻
TimeValue(日付時刻)TimeValue(#2015/09/16 12:34:56#)12:34:56指定した日付時刻の時刻
Weekday(日付時刻[,週初日の曜日])Weekday(#2015/09/16#)4指定した日付時刻の曜日を示す数値
WeekdayName(曜日数値[,省略フラグ,週初日の曜日])WeekdayName(3,True,1)曜日を表す数値に対応する曜日名
Year(日付時刻)Year(#2015/09/16#)2015指定した日付時刻の年

配列

関数/引数表記例説明
LBound()LBound()
UBound()UBound()

標準

関数/引数表記例戻り値例説明
QBColor(色番号)QBColor(1)8388608色番号に対応した10進数のカラーコード
RGB(レッド値,グリーン値,ブルー値)RGB(255,255,255)16777215レッド、グリーン、ブルーの値に対応した10進数のカラーコード

変換

関数/引数表記例戻り値例説明
Asc(文字列)Asc("川")-28436文字列の最初の1文字の文字コード
AscW(文字列)AscW("川")24029文字列の最初の1文字のUnicode文字コード
CBool(値)CBool(1234.567)-1値を数値(ブール型)に変換
CByte(値)CByte("10")10値を数値(バイト型)に変換
CCur(値)CCur("1234.567")¥1,234.567値を数値(通貨型)に変換
CDate(値)CDate("平成27年9月16日 12:34:56")2015/09/16 12:34:56日付型に変換された値
CDbl(値)CDbl("1234.567")1234.567値を数値(倍精度浮動点小数型)に変換
Chr(文字コード値)Chr(-28436)文字コードに対応する文字
Chr$(文字コード値)Chr(-28436)文字コードに対応する文字
ChrW(Unicode文字コード値)ChrW(24029)Unicode文字コードに対応する文字
ChrW$(Unicode文字コード値)ChrW$(24029)Unicode文字コードに対応する文字
CInt(値)CInt("\1,000")1000値を数値(整数型)に変換
CLng(値)CLng("\1,000")1000値を数値(長整数型)に変換
CLngPtr()CLngPtr()
CSng(値)CSng("1234.5")1234.5値を数値(単精度浮動小数点型)に変換
CStr(値)CStr(1000)1000値を文字列型に変換
CVar()CVar()
CVDate(値)CVDate("2017/09/16 12:34:56")2017/09/16 12:34:56日付型に変換された値
DateSerial(年数値,月数値,日数値)DateSerial(2015,10,16)指定した年月日の数値により生成される日付
DateValue(日付時刻)DateValue()
Day(日付時刻)Day()
EuroConvert()EuroConvert()
FormatCurrency(数値[,小数点以下桁数,0の表示モード,マイナス表示モード,カンマ表示モード])FormatCurrency(12345.6789,5,-1,0,-1)¥12,345.67890数値を指定した(通貨形式の)書式の文字列に変換して返す
FormatDateTime(日付時刻[,書式])FormatDateTime(#2017/09/15 12:34:56#,1)2017年9月15日日付時刻を指定した書式の文字列に変換して返す
FormatNumber(数値[,小数点以下桁数,0の表示モード,マイナス表示モード,カンマ表示モード])FormatNumber(12345.6789,5,-1,0,-1)12,345.67890数値を指定した書式の文字列に変換して返す
FormatPercent(数値[,小数点以下桁数,0の表示モード,マイナス表示モード,カンマ表示モード])FormatPercent(34.56789,5,-1,0,-1)3,456.78900%数値を指定した書式(パーセント形式)の文字列に変換して返す
GUIDFromString()GUIDFromString()
Hex(数値)Hex(16)1010進数を16進数に変換した値
Hex$(数値)Hex$(16)1010進数を16進数に変換した値
Hour(日付時刻)Hour()
HtmlEncode(文字列)HtmlEncode("キング&バルーン")キング&amp;バルーン文字列をHTMLエンコードした文字
Minute(日付時刻)Minute()
Month(日付時刻)Month()
Nz(Null候補値[,代替値])Nz("あいうえお",0)Null候補値がNullでないときNull候補値を、Nullのとき代替値を返す
Oct(数値)Oct(8)1010進数を8進数に変換した値
Oct$(数値)Oct$(8)1010進数を8進数に変換した値
PlainText(文字列[,数値])PlainText()
Second(日付時刻)Second()
Str(数値)Str(123)数値を文字列に変換して返す
Str$()Str$()
StrConv(文字列,変換モード[,ロケールID])StrConv("access study",1)ACCESS STUDY指定した文字種に変換された文字列
StringFromGUID()StringFromGUID()
TimeSerial(時数値,分数値,秒数値)TimeSerial(12,34,56)12:34:56指定した時分秒の数値により生成される時刻
TimeValue(日付時刻)TimeValue(#2015/09/16 12:34:56#)指定した日付時刻の時刻
Val(文字列)Val("12345人")12345文字列から取り出した数値
Weekday(日付時刻[,週初日の曜日])Weekday(#2015/09/16#)4指定した日付時刻の曜日を示す数値
Year(日付時刻)Year(#2015/09/16#)2015指定した日付時刻の年