MID関数をクエリで使用する(INSTRとLENを使用し検索し取り出す):Access

MID関数は文字列の指定した位置から、指定した長さを取り出す関数です。INSTR関数やLEN関数と組み合わせれば文字列から検索し、その見つかった位置から取り出すことができます。

構文 : MID (文字列 , 取出し開始位置 , 取出す長さ)

Access VBAでのMID関数の使い方はこちらを参照してください。
Access SQLでのMID関数の使い方はこちらを参照してください。

INSTR関数は、文字列から指定した文字を検索し、見つかった位置を返します。
LEN関数は、文字列の長さを返します。

スポンサーリンク






BackHomeへ BackAccessクエリへ

クエリの元になる研修記録テーブルです。
この研修日から、MID関数で「年」「月」「日」をそれぞれ取り出します。
次に、氏名からINSTR関数でスペースを検索し、「姓」と「名」をそれぞれ取り出します。
研修記録テーブル

■ MID関数を使ったクエリの作成

クエリデザインで下記の式を入力します。

年:MID([研修日],1,4)
「年」は1文字目から4文字取り出します。

月:MID([研修日],5,2)
「月」は5文字目から2文字取り出します。

日:MID([研修日],8,2)
「日」は8文字目から2文字取り出します。
MID関数を使ったクエリ

日付を分解し、「年」「月」「日」をそれぞれ取出すことができました。
日付を分解し「年」「月」「日」を取出した


■MID関数にINSTR関数とLEN関数を使用する

下記の式を入力します。

姓:MID([氏名],1,INSTR(1,[氏名]," ")-1)
「姓」は、INSTR関数で氏名のスペースを検索し、1文字目から見つかった位置-1までの文字数を取り出します。

名:MID([氏名],INSTR(1,[氏名]," ")+1,LEN([氏名])-INSTR(1,[氏名]," "))
「名」は、INSTR関数で氏名のスペースを検索し、見つかった位置+1から、LEN関数で全体の長さを求め、そこから見つかった位置を引いた文字数を取り出します。
MID関数にINSTR関数とLEN関数を使用したクエリ

氏名を分解し、「姓」「名」をそれぞれ取出すことができました。
氏名を分解し「姓」「名」を取出した

スポンサーリンク






BackHomeへ BackAccessクエリへ

Copyright(C) FeedSoft