2012/08/04

【Access】自作自演で課題をやってみる4

前回の続きです。フォームとレポートを簡単にやっつけちゃいます。

まずフォームから作ります。選出の際、年と月が必要になるのでそれを決定し、レポートを表示するってイメージで。



あっさりしてますがこんな感じでよいでしょう。決定ボタンのイベントはレポートが完成してから書きます。

次にレポートです。とりあえずレポート用のクエリを作ってやります。クエリのSQLビューをまんまコピーするとこんな感じです。

SELECT Employees.EmployeeNo, Employees.EmployeeName, Employees.ChoseDate
FROM Employees
WHERE (((Month([ChoseDate]))=[Forms]![MainForm]![MonthComboBox]));

月で抽出するため、WHERE区で先ほど作ったフォーム(MainForm)の月のコンボボックスを参照しています。

ではクエリを元にレポート作成します。



「ChoseDate」を週単位でグループ化しています。レポートビューにするとこんな感じ。



まぁ、サイズのことは気にしないで下さい。後はこれをフォームの決定ボタンで表示されるようにするだけです。

以下、決定ボタンのクリックイベントです。

'決定ボタンクリックイベント
Private Sub CommitButton_Click()

Dim targetYear As Integer
targetYear = Me.YearCombobox.Value

Dim targetMonth As Integer
targetMonth = Me.MonthComboBox.Value

Dim resultDay As Variant

For Each resultDay In Work.GetSunday(targetYear, targetMonth)
Work.ChoiceEmployee (CDate(resultDay))
Next

DoCmd.OpenReport "ChoiseReport", acViewPreview

End Sub

これで無事完成です。まぁ本当はもっといろんなケースを考えた方がよいでしょうけど(重複実行した場合とか)、とりあえずはこれにて第1回「自作自演で課題をやってみる」は終了です。


pagetop