私は現在、以前の従業員によって開発されたアクセスデータベースを作成しており、必要に応じてシステムを維持/調整するために導入されました。従業員が行ったタスクの情報が保存され、メトリックを表示するために作成できるさまざまなレポートがあります。これらのレポートを読んでいる人にこれらのレポートをより明確にするために、私は "Date Viewed"をレポートヘッダーに追加したいと思います。フォーム情報がレポートに渡されました
レポートを開くために、マネージャは、対応するレポートをロードする[開始]ボタン(今日、昨日、または特定の日)をクリックします。 "Today"と "Yesterday"の両方で、Date =とDate =)を使用して日付を入力できます。しかし、私は特定の日付に似たようなことをやっている。
私の解決策は今までフォームのボタンを押すことで、InputBoxはその日のレポートをWHERE文で生成するためにマネージャーから日、月、年を取得します。レポートでこれらの値(dt、mo、yr)を使用したいと思いますが、vbaコードからこれらの値を取得するためにレポートに何を入れるべきか分かりません。これへのアイデア、またはそれにアプローチする別の方法は、評価されるでしょう!
現在のVBAコードは以下のとおりです。私が読んだところでは、情報を保存するための一時的なクエリ/テーブル/フォームを作成し、それをレポートに戻す手法があります。あるいは、これらの変数を「パブリック」にしてさまざまな場所から取得する方法がありますが、現在その方法は私の頭の中にあります。 REで
Private Sub SpecificSummary_Click()
Dim stDocName As String
Dim yr As Integer
Dim mo As Integer
Dim dt As Integer
mo = InputBox("Enter Month:")
dt = InputBox("Enter Day:")
yr = InputBox("Enter Year:")
stDocName = "SpecificSummary"
DoCmd.OpenReport stDocName, acViewPreview, , "((Year([TimeStamp])) = " & yr & ") And ((Month([TimeStamp])) = " & mo & ") And ((Day([TimeStamp])) = " & dt & ")"
End Sub
詳細:HansUp
に今日と昨日レポートでは、レポートヘッダのテキストボックスを使用して、私は(=日付を使用)今日、そして=日付()のために - 1昨日のために。
更新:要望どおり、Todayレポートの現在のコード/方法をご紹介します。私が使用してレポート(TodaySummary)では、
Private Sub TodaySummary_Click()
Dim today As Date
Dim stDocName As String
Dim yr As Integer
Dim mo As Integer
Dim dt As Integer
today = Date
yr = Year(today)
mo = Month(today)
dt = Day(today)
stDocName = "DailySummary"
DoCmd.OpenReport stDocName, acViewPreview, , "((Year([TimeStamp])) = " & yr & ") And ((Month([TimeStamp])) = " & mo & ") And ((Day([TimeStamp])) = " & dt & ")"
End Sub
...
=Date()
日付をプリントアウトする
私はそれがあるべきよりも、これははるかに困難作り、としていますように私は感じます日付を年/月/日に分割する代わりに日付を使用し、WHERE条件をそのように使用する明白な方法が盲目的に不足しています。
私が私を導くのを手助けしようとしていた投稿の1つがこの1つでしたが、OpenArgsの部分を使って少し混乱しているようでした。 http://stackoverflow.com/questions/398804/how-do-i-pass-a-parameter-into-an-access-report-programatically – BadgerMotsu
@HansUp質問で更新されました。コントロールソースを= Date()としたテキストボックスのレポートヘッダーにあるものを使用します。そして、はい、現時点で3つの別々のレポートがあります。 – BadgerMotsu
他のデザインの違いは、今日のInputboxの代わりにVBAコーディングであり、昨日WHERE条件を満たすために以下のコードを使用します。 今日=日付 年=年(今日) MO =月(今日) DT =日(今日) – BadgerMotsu