スポンサーリンク

2007-09-26

Tips90 - SQL文 Format関数 その2 各種小数の書式

SQL = " SELECT Format(数値フィールド名 , '000.00') FROM テーブル名 "
format(3,'000.00') の場合: 003.00
format(3.33,'000.00') の場合: 003.33

SQL = " SELECT Format(数値フィールド名 , '##,##0.00') FROM テーブル名 "
format(34586.5688,'##,##0.00') の場合: 34,586.57

SQL = " SELECT Format(数値フィールド名 , '0.00%') FROM テーブル名 "
format(0.25695,'0.00%') の場合: 25.70%

2007-09-19

Tips89 - SQL文 Format関数 その1 数値を指定桁数0で埋める

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT Format(数値フィールド名 , '0・・・') FROM テーブル名 "
又は、
例: SQL = " SELECT Format(数値フィールド名 , '0・・・') AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

0の数だ桁数を指定します。
小数がある場合は四捨五入されます。
文字フィールドを指定した場合、変化はありません。エラーにもなりません。

例:
format(3,'0') の場合: 3 
format(3.33,'0') の場合: 3
format(30,'0') の場合: 30
format(30.33,'0') の場合: 30
format(300,'0') の場合: 300
format(300.93,'0') の場合: 301

format(3,'00000') の場合: 00003 
format(3.33,'00000') の場合: 00003
format(30,'00000') の場合: 00030
format(30.33,'00000') の場合: 00030
format(300,'00000') の場合: 00300
format(300.93,'00000') の場合: 00301

2007-09-18

Tips88 - SQL文 NULLの場合、別の値に置換える関数 NZ関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT NZ(フィールド名 , 置き換える値) FROM テーブル名 "
又は、
例: SQL = " SELECT NZ(フィールド名 , 置き換える値) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

2番目の引数の「置き換える値」は省略可能です。省略すると長さ0の文字列が返ります。

例: 数量がNULLの場合
NZ('数量')とした場合、長さ0の文字列が返ります。
NZ('数量' , 0)とした場合、0の数値が返ります。
NZ('数量' , 'Access2007')とした場合、Access2007の文字列が返ります。

2007-09-16

Tips87 - SQL文 指定した文字列を検索し見つかった位置を返す関数 INSTR関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT INSTR(検索開始位置 , フィールド名 , 検索する文字列) FROM テーブル名 "
又は、
例: SQL = " SELECT INSTR(検索開始位置 , フィールド名 , 検索する文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

検索開始位置は省略可能です。省略すると先頭から検査します。

例えば
INSTR(1, '2003年' , '2003')とした場合1が返り、INSTR(1, 'Access2003' , '2003')とした場合7が返ります。

2007-09-15

Tips86 - SQL文 指定した文字列を置き換える関数 REPLACE関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT REPLACE(フィールド名 , 検索する文字列 , 置換え文字列) FROM テーブル名 "
又は、
例: SQL = " SELECT REPLACE(フィールド名 , 検索する文字列 , 置換え文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

指定したフィールド内データの文字列を一括して置換えできます。
例えば
REPLACE(都道府県, '東京' , '東京都')とした場合、都道府県フィールドの「東京」は全て「東京都」に置き換わります。
例えば
REPLACE(備考, '2003' , '2007')とした場合、備考フィールドの「Access2003」は「Access2007」に置き換わり、「2003年」は「2007年」に置き換わります。

2007-09-14

Tips85 - SQL文 アルファベットの大文字を小文字に変換する関数 LCASE関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT LCASE(フィールド名) FROM テーブル名 "
又は、
例: SQL = " SELECT LCASE(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

アルファベットの大文字以外は無関係です。
例えば
「ANAのマイルがたまる」 は 「anaのマイルがたまる」 になります。
「HEROのDVD-BOX」 は 「heroのdvd-box」 になります。

2007-09-13

Tips84 - SQL文 アルファベットの小文字を大文字に変換する関数 UCASE関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT UCASE(フィールド名) FROM テーブル名 "
又は、
例: SQL = " SELECT UCASE(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

アルファベットの小文字以外は無関係です。
例えば
「iPhoneを手にするには」 は 「IPHONEを手にするには」 になります。
「オークションでdvdが3500円」 は 「オークションでDVDが3500円」 になります。

2007-09-12

Tips83 - SQL文 先頭文字を指定数だけ並べた文字列を返す関数 STRING関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT STRING(回数,文字列) FROM テーブル名 "
又は、
例: SQL = " SELECT STRING(回数,文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

文字列の先頭の1文字だけを繰り返した文字列になります。

STRING(10 , '>') は >>>>>>>>>> が返ります。

STRING(10 , 'ab>cd') は aaaaaaaaaa が返ります。

2007-09-11

Tips82 - SQL文 数値を文字列に変換する関数 CSTR関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT CSTR(フィールド名) FROM テーブル名 "
又は、
例: SQL = " SELECT CSTR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

整数でも小数でも文字列に変換されます。

456 は 「456」 へ
12.358 は 「12.358」 へ
-7891 は 「-7891」 になります。

2007-09-10

Tips81 - SQL文 文字列の先頭と後ろの両方のスペース(空白)を削除し返す TRIM関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT TRIM(フィールド名) FROM テーブル名 "
又は、
例: SQL = " SELECT TRIM(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

半角スペースでも全角スペースでも削除されます。

「□メダル 4個□」は「メダル 4個」になります。
「□□新幹線一時ストップ□□」は「新幹線一時ストップ」になります。
(□はスペースを表しています)

2007-09-09

Tips80 - SQL文 文字列の後ろのスペース(空白)を削除し返す RTRIM関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT RTRIM(フィールド名) FROM テーブル名 "
又は、
例: SQL = " SELECT RTRIM(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

半角スペースでも全角スペースでも削除されます。

「エアギター世界一□」は「エアギター世界一」になります。
「高校野球の監督□□」は「高校野球の監督」になります。
(□はスペースを表しています)

2007-09-08

Tips79 - SQL文 文字列の先頭のスペース(空白)を削除し返す LTRIM関数

dim SQL as String
dim rs As Recordset
例: SQL = " SELECT LTRIM(フィールド名) FROM テーブル名 "
又は、
例: SQL = " SELECT LTRIM(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

半角スペースでも全角スペースでも削除されます。

「□嫌われ男」 は 「嫌われ男」になります。
「□□久々のニアミス」 は 「久々のニアミス」になります。
(□はスペースを表しています)

2007-09-05

Tips78 - SQL文 文字列を検索し最初に見つかった文字位置のバイト数を返す INSTRB関数

dim SQL as String
dim rs As Recordset
SQL = " SELECT INSTRB(フィールド名,検索文字列) FROM テーブル名 "
又は、
SQL = " SELECT INSTRB(フィールド名,検索文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

検索文字列が見つかった場合は、その文字位置を返しますが見つからない場合は0が返ります。

「今日は5時間ライブ」から「5」を検索した場合、7が返ります。
「今日は5時間ライブ」から「時間」を検索した場合、9が返ります。

2007-09-03

Tips77 - SQL文 文字列を検索し最初に見つかった文字位置を返す INSTR関数

dim SQL as String
dim rs As Recordset
SQL = " SELECT INSTR(フィールド名,検索文字列) FROM テーブル名 "
又は、
SQL = " SELECT INSTR(フィールド名,検索文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

検索文字列が見つかった場合は、その文字位置を返しますが見つからない場合は0が返ります。

「今日は5時間ライブ」から「5」を検索した場合、4が返ります。
「今日は5時間ライブ」から「時間」を検索した場合、5が返ります。

2007-09-01

Tips76 - SQL文 文字列の最後から指定した文字数分の文字列を返す RIGHT関数

dim SQL as String
dim rs As Recordset
SQL = " SELECT RIGHT(フィールド名,取り出す文字数) FROM テーブル名 "
又は、
SQL = " SELECT RIGHT(フィールド名,取り出す文字数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

RIGHT(フィールド名,2)にした場合、
「防災の日」の場合、「の日」になります。
「iPone」の場合、「ne」になります。