Access

MS Access の週番号と週初め

ISO-8601 には準拠していない。 SELECT CInt(Format(#2012/09/22#,"ww")) AS 土曜日, CInt(Format(#2012/09/23#,"ww")) AS 日曜日, CInt(Format(#2012/09/24#,"ww")) AS 月曜日; 実行結果。 週番号 土曜日 38 日曜日 39 月曜日 39 MS Access の週番号は日曜…

MS ACCESS で経過月数を求める

SELECT IIF(DAY([終了日]) >= DAY([開始日] - 1), DATEDIFF("m", [開始日] - 1, [終了日]), DATEDIFF("m", [開始日] - 1, [終了日]) - 1 ) AS 月数; 開始日が2011年1月31日で、終了日が2011年2月1日の場合 SELECT IIF(DAY(#2011/02/01#) >= DAY(#2011/01/31#…

MS ACCESS で年齢を求める

SELECT IIf(Format([生年月日], "mm/dd") > Format(Date(), "mm/dd"), DateDiff("yyyy", [生年月日], Date())-1, DateDiff("yyyy", [生年月日], Date()) ) AS 年齢;

MS ACCESS の DSUM 関数についての備忘録

DSUM 関数で日時による絞り込みをする場合の書き方 DSUM('テーブル名', 'データベース名', '日付カラム <= #' & 16/2/2011 & '#') AS 累積結果 カラム同士で絞り込む場合は、 DSUM('テーブル名', 'データベース名', '[日付カラム] <= #' & [比較対象の日付カ…

正規表現をつかってみる

Sub GetFieldName() Dim db As DAO.Database Dim fld As DAO.Field Dim tbl As DAO.TableDef ' 正規表現パターンを生成 Set RegExp = New VBScript_RegExp_55.RegExp RegExp.Pattern = "^在庫_20[0-1][\d][01][\d][0-3][\d]$" Set db = CurrentDb For Each t…

Access の VBA で正規表現を使う

VisualBasicEditorのツール(T) 参照設定(R) 「Microsoft VBScript Regular Expressions 5.5」にチェック

テーブル名とフィールド名を取得する

Sub GetFieldName() Dim db As DAO.Database Dim fld As DAO.Field Dim tbl As DAO.TableDef Set db = CurrentDb For Each tbl In db.TableDefs ' テーブル名出力 Debug.Print tbl.Name For Each fld In tbl.Fields ' フィールド名出力 Debug.Print " "; fld…