2016-04-04 7 views
0

ich diesen MS Access VBA-Code, mit MS Access 2016.Wie Access-Bericht in einem Unterformular/-Bericht des Hauptformulars zu öffnen, die die Bedienelemente beherbergt

Private Sub cmdPreview_Click() 
On Error GoTo Err_Handler 

    Dim strReport As String 
    Dim strDateField As String 
    Dim strWhere As String 
    Dim lngView As Long 
    Const strcJetDate = "\#mm\/dd\/yyyy\#" 

    strReport = "Sales Report V2" 
    strDateField = "[OrderDate]" 
    lngView = acViewReport 

    If IsDate(Me.txtStartDate) Then 
     strWhere = "(" & strDateField & " >= " & Format(Me.txtStartDate, strcJetDate) & ")" 
    End If 
    If IsDate(Me.txtEndDate) Then 
     If strWhere <> vbNullString Then 
      strWhere = strWhere & " AND " 
     End If 
     strWhere = strWhere & "(" & strDateField & " < " & Format(Me.txtEndDate + 1, strcJetDate) & ")" 
    End If 

    If CurrentProject.AllReports(strReport).IsLoaded Then 
     DoCmd.Close acReport, strReport 
    End If 

    DoCmd.OpenReport strReport, lngView, , strWhere 

Exit_Handler: 
     Exit Sub 

Err_Handler: 
     If Err.Number <> 2501 Then 
      MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "Cannot open Report" 
     End If 
     Resume Exit_Handler 
End Sub 

Das ist der Code verwendet wird, um Datumsbereich Formular Arbeit. Das Formular lässt Sie ein Startdatum und ein Enddatum auswählen. Sie klicken dann auf eine Schaltfläche, die den obigen Code aufruft, und der Bericht wird auf einer neuen Registerkarte generiert. Was ich erreichen möchte, aber noch nicht herausgefunden habe. Wie kann der Bericht in einem Unterformular/Unterbericht des Formulars angezeigt werden, das die Datumsbereichskontrollen enthält, und von dort aus über eine Schaltfläche zum Öffnen des generierten Berichts auf einer neuen Registerkarte oder über einen Druckvorgang oder was auch immer, wenn der Benutzer zufrieden ist mit der Auswahl.

Dieser Code ist aus einem Tutorial befindet sich an www.allenbrowne.com/casu-08.html

+0

Das ist nicht – Plutonix

+0

VB.NET-Code das Tag behoben leid –

Antwort

0

Sie die Filter Eigenschaft des beigefügten Berichts festlegen:

Me!NameOfYourSubreportControl.Report.Filter = strWhere 
Me!NameOfYourSubreportControl.Report.FilterOn = True 

Um den Bericht zu den normalen Weg zu öffnen, Ihre vorhandenen Code verwenden.

Verwandte Themen