dim SQL as String
dim rs As Recordset
SQL = " SELECT MID(フィールド名,取り出す位置,文字数) FROM テーブル名 "
又は、
SQL = " SELECT MID(フィールド名,取り出す位置,文字数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
MID(フィールド名,2,4)にした場合、
「年賀はがきにミッキー」の場合、「賀はがき」になります。
MID(フィールド名,3,1)にした場合、
「ブログつながり」の場合、「グ」になります。
スポンサーリンク
2007-08-31
2007-08-30
Tips74 - SQL文 文字列の左端から指定したバイト数分の文字列を返す LEFTB関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT LEFTB(フィールド名,バイト数) FROM テーブル名 "
又は、
SQL = " SELECT LEFTB(フィールド名,バイト数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
バイト数を2にした場合、
「2007年の反省会」の場合、「20」に,
「野菜が焼けた」の場合、「野」になります。
dim rs As Recordset
SQL = " SELECT LEFTB(フィールド名,バイト数) FROM テーブル名 "
又は、
SQL = " SELECT LEFTB(フィールド名,バイト数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
バイト数を2にした場合、
「2007年の反省会」の場合、「20」に,
「野菜が焼けた」の場合、「野」になります。
2007-08-29
Tips73 - SQL文 文字列の左端から指定した文字数分の文字列を返す LEFT関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT LEFT(フィールド名,文字数) FROM テーブル名 "
又は、
SQL = " SELECT LEFT(フィールド名,文字数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
文字数を2にした場合、
「大阪を楽しみましたか」の場合、「大阪」に
「ススキ揺れ、秋の気配」の場合、「スス」になります。
dim rs As Recordset
SQL = " SELECT LEFT(フィールド名,文字数) FROM テーブル名 "
又は、
SQL = " SELECT LEFT(フィールド名,文字数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
文字数を2にした場合、
「大阪を楽しみましたか」の場合、「大阪」に
「ススキ揺れ、秋の気配」の場合、「スス」になります。
2007-08-27
Tips72 - SQL文 文字列の文字数を返す LEN関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT LEN(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT LEN(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
「2007年8月ASEANと合意」の場合、15になります。
dim rs As Recordset
SQL = " SELECT LEN(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT LEN(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
「2007年8月ASEANと合意」の場合、15になります。
2007-08-26
Tips71 - SQL文 文字列の先頭文字を大文字に変換する STRCONV関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,3) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,3) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に3を指定することで先頭文字を大文字に変換することができます。
「google」を変換すると「Google」になります。
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,3) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,3) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に3を指定することで先頭文字を大文字に変換することができます。
「google」を変換すると「Google」になります。
2007-08-25
Tips70 - SQL文 文字列のカタカナをひらがなに変換する STRCONV関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,32) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,32) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に32を指定することでカタカナをひらがなに変換することができます。
「女子マラソンスタート」を変換すると「女子まらそんすたーと」になります。
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,32) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,32) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に32を指定することでカタカナをひらがなに変換することができます。
「女子マラソンスタート」を変換すると「女子まらそんすたーと」になります。
2007-08-24
Tips69 - SQL文 文字列のひらがなをカタカナに変換する STRCONV関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,16) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,16) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に16を指定することでひらがなをカタカナに変換することができます。
「なりたいのはスーパー仕事人だ」を変換すると「ナリタイノハスーパー仕事人ダ」になります。
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,16) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,16) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に16を指定することでひらがなをカタカナに変換することができます。
「なりたいのはスーパー仕事人だ」を変換すると「ナリタイノハスーパー仕事人ダ」になります。
2007-08-23
Tips68 - SQL文 文字列を全角に変換する STRCONV関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,4) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,4) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に4を指定することで半角文字列を全角に変換することができます。
全角にできるのは、全角カタカナ・全角数字になります。
「オークションでdvdが3500円」を変換すると「オークションでdvdが3500円」になります。
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,4) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,4) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に4を指定することで半角文字列を全角に変換することができます。
全角にできるのは、全角カタカナ・全角数字になります。
「オークションでdvdが3500円」を変換すると「オークションでdvdが3500円」になります。
2007-08-22
Tips67 - SQL文 文字列を半角に変換する STRCONV関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,8) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,8) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に8を指定することで文字列を半角に変換することができます。
半角にできるのは、全角カタカナ・全角数字になります。
「宮崎産マンゴーは20000円」を変換すると「宮崎産マンゴーは20000円」になります。
dim rs As Recordset
SQL = " SELECT STRCONV(フィールド名,8) FROM テーブル名 "
又は、
SQL = " SELECT STRCONV(フィールド名,8) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STRCONV の引数に8を指定することで文字列を半角に変換することができます。
半角にできるのは、全角カタカナ・全角数字になります。
「宮崎産マンゴーは20000円」を変換すると「宮崎産マンゴーは20000円」になります。
2007-08-21
Tips66 - SQL文 文字列を日付型 (Date)に変換する DATESERIAL関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT DATESERIAL(Year,Month,Day) FROM テーブル名 "
又は、
SQL = " SELECT DATESERIAL(Year,Month,Day) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
DATESERIAL で文字列を日付型 (Date)に変換することができます。
月(Month)は 1 ~ 12、日(Day)は 1 ~ 31 の範囲でないと正常な日付を返しません。
引数、年(Year)月(Month)日(Day)がNullの場合や、数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
例: SQL = " SELECT DATESERIAL(年,月,日) AS 来客日 FROM 顧客管理 "
顧客管理テーブルの年,月,日フィールドを来客日として取得します。
dim rs As Recordset
SQL = " SELECT DATESERIAL(Year,Month,Day) FROM テーブル名 "
又は、
SQL = " SELECT DATESERIAL(Year,Month,Day) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
DATESERIAL で文字列を日付型 (Date)に変換することができます。
月(Month)は 1 ~ 12、日(Day)は 1 ~ 31 の範囲でないと正常な日付を返しません。
引数、年(Year)月(Month)日(Day)がNullの場合や、数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
例: SQL = " SELECT DATESERIAL(年,月,日) AS 来客日 FROM 顧客管理 "
顧客管理テーブルの年,月,日フィールドを来客日として取得します。
2007-08-20
Tips65 - SQL文 文字列を通貨型 (Currency)に変換する CCUR関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT CCUR(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CCUR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CCUR で文字列を通貨型 (Currency)に変換することができます。
通貨型は、-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 の範囲になります。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が単精度浮動小数点数型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CCUR(単価) FROM 部品マスター "
部品マスターテーブルの単価フィールドを通貨型として取得します。
dim rs As Recordset
SQL = " SELECT CCUR(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CCUR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CCUR で文字列を通貨型 (Currency)に変換することができます。
通貨型は、-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 の範囲になります。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が単精度浮動小数点数型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CCUR(単価) FROM 部品マスター "
部品マスターテーブルの単価フィールドを通貨型として取得します。
2007-08-18
Tips64 - SQL文 文字列を倍精度浮動小数点数型 (Double)に変換する CDBL関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT CDBL(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CDBL(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CDBL で文字列を倍精度浮動小数点数型 (Double)に変換することができます。
単精度浮動小数点数型は負の場合、-1.79769313486231E308 ~ -4.94065645841247E-324 になり
正の場合、4.94065645841247E-324 ~ 1.79769313486232E308 になります。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が単精度浮動小数点数型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CSNG(面積) FROM 画像分析 "
画像分析テーブルの面積フィールドを倍精度浮動小数点数型として取得します。
dim rs As Recordset
SQL = " SELECT CDBL(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CDBL(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CDBL で文字列を倍精度浮動小数点数型 (Double)に変換することができます。
単精度浮動小数点数型は負の場合、-1.79769313486231E308 ~ -4.94065645841247E-324 になり
正の場合、4.94065645841247E-324 ~ 1.79769313486232E308 になります。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が単精度浮動小数点数型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CSNG(面積) FROM 画像分析 "
画像分析テーブルの面積フィールドを倍精度浮動小数点数型として取得します。
2007-08-17
Tips63 - SQL文 文字列を単精度浮動小数点数型 (Single)に変換する CSNG関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT CSNG(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CSNG(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CSNG で文字列を単精度浮動小数点数型 (Integer)に変換することができます。
単精度浮動小数点数型は負の場合、-3.402823E38 ~ -1.401298E-45 になり
正の場合、1.401298E-45 ~ 3.402823E38 になります。
変換結果は誤差が出る場合がありますので注意が必要です。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が単精度浮動小数点数型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CSNG(距離) FROM 画像解析 "
画像解析テーブルの距離フィールドを単精度浮動小数点数型として取得します。
dim rs As Recordset
SQL = " SELECT CSNG(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CSNG(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CSNG で文字列を単精度浮動小数点数型 (Integer)に変換することができます。
単精度浮動小数点数型は負の場合、-3.402823E38 ~ -1.401298E-45 になり
正の場合、1.401298E-45 ~ 3.402823E38 になります。
変換結果は誤差が出る場合がありますので注意が必要です。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が単精度浮動小数点数型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CSNG(距離) FROM 画像解析 "
画像解析テーブルの距離フィールドを単精度浮動小数点数型として取得します。
2007-08-16
Tips62 - SQL文 文字列を長整数型 (Long)に変換する CLNG関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT CLNG(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CLNG(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CLNG で文字列を長整数型 (Integer)に変換することができます。
長整数型は -2,147,483,648 ~ 2,147,483,647になります。
小数部分は丸められます。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が長整数型を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CLNG(地域コード) FROM 車両保有統計 "
車両保有統計テーブルの地域コードを長整数型として取得します。
dim rs As Recordset
SQL = " SELECT CLNG(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CLNG(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CLNG で文字列を長整数型 (Integer)に変換することができます。
長整数型は -2,147,483,648 ~ 2,147,483,647になります。
小数部分は丸められます。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が長整数型を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CLNG(地域コード) FROM 車両保有統計 "
車両保有統計テーブルの地域コードを長整数型として取得します。
2007-08-15
Tips61 - SQL文 文字列を整数型 (Integer)に変換する CINT関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT CINT(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CINT(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CINT で文字列を整数型 (Integer)に変換することができます。
整数型は -32,768 ~ 32,767になります。
小数部分は丸められます。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が整数型を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CINT(コード2) FROM 送信コード "
送信コードテーブルのコード2を整数型として取得します。
dim rs As Recordset
SQL = " SELECT CINT(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CINT(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CINT で文字列を整数型 (Integer)に変換することができます。
整数型は -32,768 ~ 32,767になります。
小数部分は丸められます。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が整数型を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CINT(コード2) FROM 送信コード "
送信コードテーブルのコード2を整数型として取得します。
2007-08-13
Tips60 - SQL文 正負の符号を求める SGN (サイン)関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT SGN(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT SGN(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
SGN (サイン)で、正負か0かを調べることができます。
例: SQL = " SELECT SGN(電圧) AS ポート電圧 FROM 制御基板 "
制御基板テーブルの電圧フィールドの正負状態を取得します。
取得値はポート電圧の名前になります。
フィールド値「 0 , -1 , 2 , -3 , 4 」の実行した場合、「 0 , -1 , 1 , -1 , 1 」になります。
dim rs As Recordset
SQL = " SELECT SGN(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT SGN(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
SGN (サイン)で、正負か0かを調べることができます。
例: SQL = " SELECT SGN(電圧) AS ポート電圧 FROM 制御基板 "
制御基板テーブルの電圧フィールドの正負状態を取得します。
取得値はポート電圧の名前になります。
フィールド値「 0 , -1 , 2 , -3 , 4 」の実行した場合、「 0 , -1 , 1 , -1 , 1 」になります。
2007-08-12
Tips59 - SQL文 べき乗を求める ^ (ハット)関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT フィールド名^n乗 FROM テーブル名 "
又は、
SQL = " SELECT フィールド名^n乗 AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
^ (ハット)はべき乗を返します。
例: SQL = " SELECT X値^2 AS X2乗 FROM 平面図形 "
平面図形テーブルのX値フィールドの2乗を取得します。
取得値はX2乗の名前になります。
フィールド値「 0 , 1 , 2 , 3 , 4 」の実行した場合、「 0 , 1 , 4 , 9 , 16 」になります。
dim rs As Recordset
SQL = " SELECT フィールド名^n乗 FROM テーブル名 "
又は、
SQL = " SELECT フィールド名^n乗 AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
^ (ハット)はべき乗を返します。
例: SQL = " SELECT X値^2 AS X2乗 FROM 平面図形 "
平面図形テーブルのX値フィールドの2乗を取得します。
取得値はX2乗の名前になります。
フィールド値「 0 , 1 , 2 , 3 , 4 」の実行した場合、「 0 , 1 , 4 , 9 , 16 」になります。
2007-08-11
Tips58 - SQL文 平方根を求める SQR関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT SQR(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT SQR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
SQR[スクエア(スクエアルート)]は平方根を返します。
0の場合は、0が返ります。
例: SQL = " SELECT SQR( 自然数 ) AS スクエア FROM 証明 "
証明テーブルの自然数フィールドの平方根を取得します。
取得値はスクエアの名前になります。
フィールド値「 1 , 2 , 3 , 4 」の自然数で実行した場合、「 1 , 1.414・・・ , 1.732・・・ , 2 」になります。
dim rs As Recordset
SQL = " SELECT SQR(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT SQR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
SQR[スクエア(スクエアルート)]は平方根を返します。
0の場合は、0が返ります。
例: SQL = " SELECT SQR( 自然数 ) AS スクエア FROM 証明 "
証明テーブルの自然数フィールドの平方根を取得します。
取得値はスクエアの名前になります。
フィールド値「 1 , 2 , 3 , 4 」の自然数で実行した場合、「 1 , 1.414・・・ , 1.732・・・ , 2 」になります。
2007-08-10
Tips57 - SQL文 絶対値を求める ABS関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT ABS(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
ABSは絶対値の結果を返します。
絶対値は負符号を省いたものになります。
5の絶対値も-5の絶対値も5になります。
例: SQL = " SELECT ABS( 電圧 ) AS 電圧絶対値 FROM 電圧測定 "
電圧測定テーブルの電圧フィールドの絶対値を取得します。
取得値は電圧絶対値の名前になります。
フィールド値「 10.123 , -20.255 , -30.5688 」の電圧で実行した場合、「 10.12 , 20.26 , 30.57 」になります。
dim rs As Recordset
SQL = " SELECT ABS(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
ABSは絶対値の結果を返します。
絶対値は負符号を省いたものになります。
5の絶対値も-5の絶対値も5になります。
例: SQL = " SELECT ABS( 電圧 ) AS 電圧絶対値 FROM 電圧測定 "
電圧測定テーブルの電圧フィールドの絶対値を取得します。
取得値は電圧絶対値の名前になります。
フィールド値「 10.123 , -20.255 , -30.5688 」の電圧で実行した場合、「 10.12 , 20.26 , 30.57 」になります。
2007-08-09
Tips56 - SQL文 四捨五入する ROUND関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT ROUND(フィールド名,小数点以下の桁数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
ROUNDは四捨五入の結果を返します。
例: SQL = " SELECT ROUND( 含有量 , 2 ) AS 含有量小数2位 FROM 調査結果 "
調査結果テーブルの含有量フィールドの小数第3位を四捨五入した値を取得します。
取得値は含有量小数2位の名前になります。
フィールド値「 100.123 , 200.255 , 300.5688 」の重量で実行した場合、「 100.12 , 200.26 , 300.57 」になります。
dim rs As Recordset
SQL = " SELECT ROUND(フィールド名,小数点以下の桁数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
ROUNDは四捨五入の結果を返します。
例: SQL = " SELECT ROUND( 含有量 , 2 ) AS 含有量小数2位 FROM 調査結果 "
調査結果テーブルの含有量フィールドの小数第3位を四捨五入した値を取得します。
取得値は含有量小数2位の名前になります。
フィールド値「 100.123 , 200.255 , 300.5688 」の重量で実行した場合、「 100.12 , 200.26 , 300.57 」になります。
2007-08-07
Tips55 - SQL文 剰余を取得する MOD関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT (フィールド名 MOD フィールド名) AS 名前 FROM テーブル名 "
又は、SQL = " SELECT (フィールド名 MOD 数値) AS 名前 FROM テーブル名 "
又は、SQL = " SELECT (数値 MOD フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
MODは除算の余りを返します。
例: SQL = " SELECT ( 重量 MOD 30 ) AS 重量余り FROM 仕様 "
仕様テーブルの重量フィールドを30で割った余りを取得します。
取得値は重量余りの名前になります。
フィールド値「100,200,300」の重量で実行した場合、「10,20,0」になります。
dim rs As Recordset
SQL = " SELECT (フィールド名 MOD フィールド名) AS 名前 FROM テーブル名 "
又は、SQL = " SELECT (フィールド名 MOD 数値) AS 名前 FROM テーブル名 "
又は、SQL = " SELECT (数値 MOD フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
MODは除算の余りを返します。
例: SQL = " SELECT ( 重量 MOD 30 ) AS 重量余り FROM 仕様 "
仕様テーブルの重量フィールドを30で割った余りを取得します。
取得値は重量余りの名前になります。
フィールド値「100,200,300」の重量で実行した場合、「10,20,0」になります。
2007-08-06
Tips54 - SQL文 FIRST、LAST関数は使用しない方がいいようです
dim SQL as String
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
ID testname 数量
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
FIRST関数では50が返りました。
LAST関数は400が返りました。
Microsoftサーポートオンラインにも「First および Last 関数が期待どおりのレコードを返さない」と記載されています。
http://support.microsoft.com/default.aspx?scid=kb;ja;208190
それによりますと、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
ID testname 数量
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
FIRST関数では50が返りました。
LAST関数は400が返りました。
Microsoftサーポートオンラインにも「First および Last 関数が期待どおりのレコードを返さない」と記載されています。
http://support.microsoft.com/default.aspx?scid=kb;ja;208190
それによりますと、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
SQL文 集計関数のFIRST、LASTは使用しない方がいいようです
dim SQL as String
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
ID testname 数量
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
FIRST関数では50が返りました。
LAST関数は400が返りました。
Microsoftサーポートオンラインにも「First および Last 関数が期待どおりのレコードを返さない」と記載されています。
http://support.microsoft.com/default.aspx?scid=kb;ja;208190 target="_blank"
それによりますと、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
ID testname 数量
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
FIRST関数では50が返りました。
LAST関数は400が返りました。
Microsoftサーポートオンラインにも「First および Last 関数が期待どおりのレコードを返さない」と記載されています。
http://support.microsoft.com/default.aspx?scid=kb;ja;208190 target="_blank"
それによりますと、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
SQL文 集計関数のFIRST、LASTは使用しない方がいいようです
dim SQL as String
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
---------------------
ID testname 数量
---------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
---------------------
FIRST関数では50が返りました。
LAST関数は400が返りました。
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
---------------------
ID testname 数量
---------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
---------------------
FIRST関数では50が返りました。
LAST関数は400が返りました。
SQL文 集計関数のFIRST、LASTは使用しない方がいいようです
dim SQL as String
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
---------------------
ID testname 数量
---------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
---------------------
FIRST関数では50が返りました。
LAST関数は400が返りました。
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRST関数は先頭のレコードを返します。
LAST関数は末尾のレコードを返します。
Access固有の関数です。
しかし、テストすると正確な値が返りません。
下記のテーブルの場合(IDはオートナンバー型です)
---------------------
ID testname 数量
---------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
---------------------
FIRST関数では50が返りました。
LAST関数は400が返りました。
2007-08-05
SQL文 集計関数のFIRST関数、LAST関数は使用しない方がいい
dim SQL as String
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRSTは先頭レコードを取得することができる関数ですが、期待する値が返されない場合があります。
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
LASTは最終レコードを取得することができる関数ですが、期待する値が返されない場合があります。
実際に下記テーブルでテストすると(IDはオートナンバー型です)
--------------------
ID testname 数量
--------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
--------------------
FIRST関数の場合、50が返りました。
LAST関数の場合、400が返りました。
Microsoftサポートオンラインに「FirstおよびLast関数が期待どうりのレコードを返さない」の記事があります。それによると、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
オートナンバー型を使用し、MAX関数・MIN関数で取得した方がいいようです。
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRSTは先頭レコードを取得することができる関数ですが、期待する値が返されない場合があります。
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
LASTは最終レコードを取得することができる関数ですが、期待する値が返されない場合があります。
実際に下記テーブルでテストすると(IDはオートナンバー型です)
--------------------
ID testname 数量
--------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
--------------------
FIRST関数の場合、50が返りました。
LAST関数の場合、400が返りました。
Microsoftサポートオンラインに「FirstおよびLast関数が期待どうりのレコードを返さない」の記事があります。それによると、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
オートナンバー型を使用し、MAX関数・MIN関数で取得した方がいいようです。
SQL文 集計関数のFIRST関数、LAST関数は使用しない方がいい
dim SQL as String
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRSTは先頭レコードを取得することができる関数ですが、期待する値が返されない場合があります。
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
LASTは最終レコードを取得することができる関数ですが、期待する値が返されない場合があります。
実際に下記テーブルでテストすると(IDはオートナンバー型です)
--------------------
ID testname 数量
--------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
--------------------
FIRST関数の場合、50が返りました。
LAST関数の場合、400が返りました。
Microsoftサポートオンラインにも「FirstおよびLast関数が期待どうりのレコードを返さない」の記事があります。それによると、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
http://support.microsoft.com/default.aspx?scid=kb;ja;208190
オートナンバー型を使用し、MAX関数・MIN関数で取得した方がいいようです。
dim rs As Recordset
SQL = " SELECT FIRST(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
FIRSTは先頭レコードを取得することができる関数ですが、期待する値が返されない場合があります。
SQL = " SELECT LAST(フィールド名) AS 名前 FROM テーブル名 "
LASTは最終レコードを取得することができる関数ですが、期待する値が返されない場合があります。
実際に下記テーブルでテストすると(IDはオートナンバー型です)
--------------------
ID testname 数量
--------------------
110503 a0 100
110504 a1 200
110505 a2 300
110506 a3 400
110511 a4 50
110512 a5 10
110513 a6 60
--------------------
FIRST関数の場合、50が返りました。
LAST関数の場合、400が返りました。
Microsoftサポートオンラインにも「FirstおよびLast関数が期待どうりのレコードを返さない」の記事があります。それによると、「First()、Last()、DFirst()、および DLast() 関数では、並べ替え順、インデックス、および主キーが無視されます。これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、レコードがテーブルに入力されたときの順序に基づいて、削除されていない先頭または最後のレコードを返します。 」とあります。
http://support.microsoft.com/default.aspx?scid=kb;ja;208190
オートナンバー型を使用し、MAX関数・MIN関数で取得した方がいいようです。
2007-08-04
Tips53 - SQL文 平方偏差を取得する VAR関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT VAR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
VARは平方偏差を算出します。
平方偏差とは、各値と平均値の間の差の平方根の合計を値の数で除算したものになります。
VARはAccess、SQL Server固有の関数です。
例: SQL = " SELECT VAR( 測定値 ) AS 測定値平方偏差 FROM 実験 "
実験テーブルの測定値フィールドの平方偏差を取得します。
取得値は測定値平方偏差の名前になります。
フィールド値「100,200,300,400,500」の測定値で実行した場合、25000になります。
dim rs As Recordset
SQL = " SELECT VAR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
VARは平方偏差を算出します。
平方偏差とは、各値と平均値の間の差の平方根の合計を値の数で除算したものになります。
VARはAccess、SQL Server固有の関数です。
例: SQL = " SELECT VAR( 測定値 ) AS 測定値平方偏差 FROM 実験 "
実験テーブルの測定値フィールドの平方偏差を取得します。
取得値は測定値平方偏差の名前になります。
フィールド値「100,200,300,400,500」の測定値で実行した場合、25000になります。
2007-08-03
Tips52 - SQL文 標準偏差を取得する STDEVP関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STDEVP(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STDEVPは母集団を評価し標準偏差を算出します。
STDEVとSTDEVPの違いは、STDEVはいくつかのデータで母集団を推定しますが、STDEVPは母集団そのもののデータで分析します。
通常STDEVでいいかと思います。
Access固有の関数です。
例: SQL = " SELECT STDEVP( 強度 ) AS 強度標準偏差 FROM 測定データ "
測定データテーブルの全強度データを母集団として標準偏差を取得します。
取得値は強度標準偏差の名前になります。
dim rs As Recordset
SQL = " SELECT STDEVP(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STDEVPは母集団を評価し標準偏差を算出します。
STDEVとSTDEVPの違いは、STDEVはいくつかのデータで母集団を推定しますが、STDEVPは母集団そのもののデータで分析します。
通常STDEVでいいかと思います。
Access固有の関数です。
例: SQL = " SELECT STDEVP( 強度 ) AS 強度標準偏差 FROM 測定データ "
測定データテーブルの全強度データを母集団として標準偏差を取得します。
取得値は強度標準偏差の名前になります。
2007-08-02
Tips51 - SQL文 標準偏差を取得する STDEV関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT STDEV(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STDEVは母集団の標本を評価し標準偏差を算出します。
標準偏差とはバラツキを表した数値で, シグマ ( Σ )とも言われます。
Access固有の関数です。
例: SQL = " SELECT STDEV( 物理点数 ) AS 点数標準偏差 FROM 成績一覧 WHERE 性別 = '男' "
成績一覧テーブルの男子の、物理点数の標準偏差を取得します。
取得値は点数標準偏差の名前になります。
dim rs As Recordset
SQL = " SELECT STDEV(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
STDEVは母集団の標本を評価し標準偏差を算出します。
標準偏差とはバラツキを表した数値で, シグマ ( Σ )とも言われます。
Access固有の関数です。
例: SQL = " SELECT STDEV( 物理点数 ) AS 点数標準偏差 FROM 成績一覧 WHERE 性別 = '男' "
成績一覧テーブルの男子の、物理点数の標準偏差を取得します。
取得値は点数標準偏差の名前になります。
2007-08-01
Tips50 - SQL文 平均値を取得する AVG関数
dim SQL as String
dim rs As Recordset
SQL = " SELECT AVG(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
指定フィールドの平均値を返します。
平均値とはフィールド名の合計値を個数で割った結果です。
NULL値のフィールドは除外されます。
例: SQL = " SELECT AVG( 点数 ) AS 点数平均 FROM 成績一覧 WHERE 組 = 3 "
成績一覧テーブルの3組の点数の平均を取得します。
平均値は点数平均の名前になります。
dim rs As Recordset
SQL = " SELECT AVG(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
指定フィールドの平均値を返します。
平均値とはフィールド名の合計値を個数で割った結果です。
NULL値のフィールドは除外されます。
例: SQL = " SELECT AVG( 点数 ) AS 点数平均 FROM 成績一覧 WHERE 組 = 3 "
成績一覧テーブルの3組の点数の平均を取得します。
平均値は点数平均の名前になります。
登録:
投稿 (Atom)