0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AccessVBA備忘録(レポートでのグループ化)

Last updated at Posted at 2021-03-27

AccessVBAのレポートで集計をしようとした際、グループ化が必要、ということはわかったのですが、グループ化の方法がわからなくてしばらく詰まったので、備忘録として書いておきます。

##レポートで項目のグループ化

Dim NewGroupLevel As Variant
NewGroupLevel = CreateGroupLevel(NewReport.Name, 基準とする項目名, グループヘッダーを作成するかどうか, グループフッダーを作成するかどうか)

基準とする項目名
グループ化する際にまとめる項目の名前
指定した項目の同じ値のものがグループ化される

グループヘッダーを作成するかどうか
True 作成する
False 作成しない

グループフッダーを作成するかどうか
True 作成する
False 作成しない


##その他AccessVBAメモ

###Excelインポート

DoCmd.TransferSpreadsheet acImport, , インポート後のテーブル名, インポートファイル名, 一行目をフィールド名として使用するかどうか

インポートファイル名
インポートするExcelファイルのパスを""で囲って指定

一行目をフィールド名として使用するかどうか
True 使用する
False 使用しない

###レポート作成

Dim NewReport As Report
Set NewReport  = CreateReport()
DoCmd.Restore

###レポートのレコードソースを指定

NewReport.RecordSource = "sample"

"sample"
レコードソースとするテーブル名など

###レポート上でのラベル作成

Dim NewLabel As Label
Set NewLabel  = CreateReportControl(NewReport.Name, acLabel, acPageHeader, "", "", x, y, w, h)
NewLabel.Caption = "ラベルに表示する文字列など"

acPageHeader
ラベルを作成する箇所

その他の箇所の指定  acDetail 詳細  acFooter フッター  acGroupLevel1Footer グループ レベル 1 フッター  acGroupLevel1Header グループ レベル 1 ヘッダー  acHeader ヘッダー  acPageFooter ページ フッター  acPageFooter ページ ヘッダー

x(ラベルの横位置),y(ラベルの縦位置),w(ラベルの幅),h(ラベルの高さ)
1cm = 567

###レポート上でのテキストボックス作成

Dim NewTextBox As TextBox
Set NewTextBox = CreateReportControl(N_Report.Name, acTextBox, acDetail, "", "", x, y, w, h)
NewTextBox.ControlSource = "レポートソースとしたテーブル内の項目名"

.ControlSource
関係ない文字列を指定すると他のビューでエラーになる?ため、表の項目などはラベルで作成する

###グループ化した表の集計

Dim TotalTextBox As TextBox
Set TotalTextBox = CreateReportControl(N_Report.Name, acTextBox, acGroupLevel1Footer, "", "", x, y, w, h)
TotalTextBox.ControlSource = "=Sum([集計を行う項目名])"

acGroupLevel1Footer
作成したグループのフッターにテキストボックスを作成して集計

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?