1

クエリから表示する「条件を決定する」フォームがあります。ここにコードがあります - 私が望むように動作します:

    Option Compare Database
    Option Explicit
    Private Sub Command47_Click()
    Dim strWhere As String
    Dim lngLen As Long
    Const conJetDate = "\#mm\/dd\/yyyy\#"
    If Not IsNull(Me.Combo26) Then
    strWhere = strWhere & "([Responsible Operator] Like ""*" & Me.Combo26 & "*"") AND "
    End If
    If Not IsNull(Me.txtStartDate) Then
    strWhere = strWhere & "([DateInitiated] >= " & Format(Me.txtStartDate, conJetDate) & ") AND "
    End If
    If Not IsNull(Me.txtEndDate) Then
    strWhere = strWhere & "([DateInitiated] < " & Format(Me.txtEndDate, conJetDate) & ") AND "
    End If
    lngLen = Len(strWhere) - 5
    If lngLen <= 0 Then
    MsgBox "No criteria", vbInformation, "Nothing to do."
    Else
    strWhere = Left$(strWhere, lngLen)
    Me.Filter = strWhere
    Me.FilterOn = True
    End If
    End Sub

    Private Sub cmdReset_Click()
    Dim ctl As Control
    For Each ctl In Me.Section(acHeader).Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox
    ctl.Value = Null
    Case acCheckBox
    ctl.Value = ""
    End Select
    Next
    Me.FilterOn = True
    End Sub

    Private Sub Exit_Click()
    DoCmd.Close
    End Sub

    Private Sub Review_Click()
    Dim carnum As Long
    carnum = Me.CARNumber
    DoCmd.OpenForm "CARData Form", , , "CARNumber = " & carnum
    End Sub

    Private Sub PrintPerformance_Click()
    DoCmd.OpenReport "Rpt1 Performance", acViewPreview
    End Sub

フォームに印刷オプションを作成し、そのフォームに表示されるレコードの結果をレポートに表示したいと考えています。印刷オプションを介してフォームにリンクされたレポートを作成しましたが、フォームの現在の結果を表示できません。レポートの実際のソースは、フォームと同じソース クエリです。それは正しくないと思います - フォームからレポートにデータを抽出するにはどうすればよいですか? ありがとう

4

1 に答える 1

0

フォームのコードがFilter文字列を作成し、それをフォームのレコード ソースに適用しているようです。後で、同じフィルターをレポートのレコード ソースに適用してレポートを開く必要があります。その場合は、フォームのFilterプロパティをWhereCondition toとして使用しOpenReportます。

Private Sub PrintPerformance_Click()
    DoCmd.OpenReport "Rpt1 Performance", acViewPreview, _
        WhereCondition:=Me.Filter
End Sub
于 2013-08-01T18:35:07.663 に答える