So-net無料ブログ作成
検索選択

アクセス小僧:レコード移動したとき、同じ月のレコード数をカウント [コンピューター]

アクセスフォームで、

レコード移動したとき、同じ月のレコード数をカウントするマクロを作りました。

テーブルには、1月1日から12月31日までのレコードが登録されています。
例えば、8月6日のレコードを開いたら、8月のレコード数、
すなわち、8月1日から8月31日までのレコード数をカウントします。

同じ月のレコードを抽出するため、次の様なDCountを使います。

DCount("*", "T_テーブル", "[日付]>=#2017/8/1# And [日付]<#2017/9/1#")

つまり、レコードの日付が2017/8/1以上で、2017/9/1より小さい日を抽出しています。
2つ目の条件が翌月の1日と比較しているのは、月末日が28, 29, 30, 31と月によって変動
するので、マクロを簡単にするためです。

マクロのコードを以下に示します。

Private Sub Form_Current()
  '【機能1】レコード移動したとき、同じ月のレコード数をカウント
  '【機能2】
  '【変数】
  Dim myDate1 As Date ' 日付
  Dim myYear As Integer ' 年
  Dim myMonth As Integer ' 月
  '【コード】
  myDate1 = [日付]
  myYear = Year(myDate1)
  myMonth = Month(myDate1)
  [月レコード数] = (DCount("*", "T_テーブル", "[日付]>=#" & myYear & "/" _
  & myMonth & "/1# And [日付]<#" & myYear & "/" & myMonth + 1 & "/1#"))
End Sub

カレントレコードの日付フィールドから、日付を取ってきて、年(myYear)と月(myMonth)を抽出、
DCountの条件式を作っています。

ヤバイぜ!(12)  コメント(1) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 12

コメント 1

cheese999

ヤバイぜ! ありがとうございます[__猫]
by cheese999 (2017-08-06 13:28) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント