代码>[发票类型]在('type1','type2','type3')--这可能是不礼貌的,我向您道歉,但也许您现在不应该使用多选列表框,而应该专注于学习有关Access、SQL和VBA的更多信息。 Private Sub Detail_Click()
代码>[发票类型]在('type1','type2','type3')--这可能是不礼貌的,我向您道歉,但也许您现在不应该使用多选列表框,而应该专注于学习有关Access、SQL和VBA的更多信息。代码>[发票类型]在('type1','type2','type3')--这可能是不礼貌的,我向您道歉,但也许您现在不应该使用多选列表框,而应该专注于学习有关Access、SQL和VBA的更多信息。 Private Sub Detail_Click() ,vba,ms-access,Vba,Ms Access,代码>[发票类型]在('type1','type2','type3')--这可能是不礼貌的,我向您道歉,但也许您现在不应该使用多选列表框,而应该专注于学习有关Access、SQL和VBA的更多信息。 Private Sub Detail_Click() End Sub Private Sub BTNRunReport_Click() On Error GoTo BTNRunReport_Click_Err DoCmd.OpenReport "CompleteTransRPT", a
Private Sub Detail_Click()
End Sub
Private Sub BTNRunReport_Click()
On Error GoTo BTNRunReport_Click_Err
DoCmd.OpenReport "CompleteTransRPT", acViewReport, "", "", acNormal
BTNRunReport_Click_Exit:
Exit Sub
BTNRunReport_Click_Err:
MsgBox Error$
Resume BTNRunReport_Click_Exit
End Sub
Private Sub BTNPaidInvoices_Click()
On Error GoTo BTNPaidInvoices_Click_Err
DoCmd.OpenReport "PaidRPT", acViewReport, "", "", acNormal
BTNRunReport_Click_Exit:
Exit Sub
BTNRunReport_Click_Err:
MsgBox Error$
Resume BTNPaidInvoices_Click_Exit
End Sub
Private Sub DeSelectAllTeams_Click()
Dim varItm As Variant
With TeamName
For Each varItm In .ItemsSelected
.Selected(varItm) = False
Next varItm
End With
End Sub
Private Sub SelectAllTeams_Click()
Dim i As Integer
For i = 0 To Forms!InvoiceReporting!TeamName.ListCount - 1
Forms!InvoiceReporting!TeamName.Selected(i) = True
Next i
End Sub
Private Sub SelectAllInvoices_Click()
Dim i As Integer
For i = 0 To Forms!InvoiceReporting!InvoiceType.ListCount - 1
Forms!InvoiceReporting!InvoiceType.Selected(i) = True
Next i
End Sub
Private Sub DeSelectAllInvoices_Click()
Dim varItm As Variant
With InvoiceType
For Each varItm In .ItemsSelected
.Selected(varItm) = False
Next varItm
End With
End Sub
Option Compare Database
Private Sub Detail_Click()
End Sub
Private Sub BTNRunReport_Click()
On Error GoTo BTNRunReport_Click_Err
'DoCmd.OpenReport "CompleteTransRPT", acViewReport, , strFilter
Dim strFilter As String
Dim lSelCnt As Long
strFilter = ""
strWhere = GetValues(Me.TeamName, "Team Name", lSelCnt)
If lSelCnt >= 1 Then strFilter = strFilter & "(" & strWhere & ")"
lSelCnt = 0
strWhere = GetValues(Me.InvoiceType, "Invoice Type", lSelCnt)
If lSelCnt >= 1 Then
If Len(strFilter) > 0 Then
strFilter = strFilter & " AND (" & strWhere & ")"
Else
strFilter = strFilter & " (" & strWhere & ")"
End If
End If
Debug.Print strFilter
DoCmd.OpenReport "CompleteTransRPT", acViewReport, , strFilter
BTNRunReport_Click_Exit:
Exit Sub
BTNRunReport_Click_Err:
MsgBox Error$
Resume BTNRunReport_Click_Exit
End Sub
Private Sub BTNPaidInvoices_Click()
On Error GoTo BTNPaidInvoices_Click_Err
'DoCmd.OpenReport "PaidRPT", acViewReport, , strFilter
Dim strFilter As String
Dim lSelCnt As Long
strFilter = ""
strWhere = GetValues(Me.TeamName, "Team Name", lSelCnt)
If lSelCnt >= 1 Then strFilter = strFilter & "(" & strWhere & ")"
lSelCnt = 0
strWhere = GetValues(Me.InvoiceType, "Invoice Type", lSelCnt)
If lSelCnt >= 1 Then
If Len(strFilter) > 0 Then
strFilter = strFilter & " AND (" & strWhere & ")"
Else
strFilter = strFilter & " (" & strWhere & ")"
End If
End If
Debug.Print strFilter
DoCmd.OpenReport "PaidRPT", acViewReport, , strFilter
BTNPaidInvoices_Click_Exit:
Exit Sub
BTNPaidInvoices_Click_Err:
MsgBox Error$
Resume BTNPaidInvoices_Click_Exit
End Sub
Private Sub BTNUnPaidInvoices_Click()
On Error GoTo BTNUnPaidInvoices_Click_Err
'DoCmd.OpenReport "CompleteTransRPT", acViewReport, , strFilter
Dim strFilter As String
Dim lSelCnt As Long
strFilter = ""
strWhere = GetValues(Me.TeamName, "Team Name", lSelCnt)
If lSelCnt >= 1 Then strFilter = strFilter & "(" & strWhere & ")"
lSelCnt = 0
strWhere = GetValues(Me.InvoiceType, "Invoice Type", lSelCnt)
If lSelCnt >= 1 Then
If Len(strFilter) > 0 Then
strFilter = strFilter & " AND (" & strWhere & ")"
Else
strFilter = strFilter & " (" & strWhere & ")"
End If
End If
Debug.Print strFilter
DoCmd.OpenReport "NoPaymentRPT", acViewReport, , strFilter
'DoCmd.OpenReport "NoPaymentRPT", acViewReport, "", "", acNormal
BTNUnPaidInvoices_Click_Exit:
Exit Sub
BTNUnPaidInvoices_Click_Err:
MsgBox Error$
Resume BTNUnPaidInvoices_Click_Exit
End Sub
Private Sub DeSelectAllTeams_Click()
Dim varItm As Variant
With TeamName
For Each varItm In .ItemsSelected
.Selected(varItm) = False
Next varItm
End With
End Sub
Private Sub SelectAllTeams_Click()
Dim i As Integer
For i = 0 To Forms!INVOICEREPORTING!TeamName.ListCount - 1
Forms!INVOICEREPORTING!TeamName.Selected(i) = True
Next i
End Sub
Private Sub SelectAllInvoices_Click()
Dim i As Integer
For i = 0 To Forms!INVOICEREPORTING!InvoiceType.ListCount - 1
Forms!INVOICEREPORTING!InvoiceType.Selected(i) = True
Next i
End Sub
Private Sub DeSelectAllInvoices_Click()
Dim varItm As Variant
With InvoiceType
For Each varItm In .ItemsSelected
.Selected(varItm) = False
Next varItm
End With
End Sub
Function GetValues(lstbox As ListBox, lstField As String, lSelectedCnt As Long) As String
Dim varItem As Variant 'Selected items
Dim strWhere As String 'String to use as WhereCondition
Dim strDescrip As String 'Description of WhereCondition
Dim lngLen As Long 'Length of string
Dim strDelim As String 'Delimiter for this field type.
'strDelim = """"
'Loop through the ItemsSelected in the list box.
With lstbox
For Each varItem In .ItemsSelected
If Not IsNull(varItem) Then
'Build up the filter from the bound column (hidden).
strWhere = strWhere & "'" & strDelim & .ItemData(varItem) & strDelim & "',"
lSelectedCnt = lSelectedCnt + 1
End If
Next
End With
'Remove trailing comma. Add field name, IN operator, and brackets.
lngLen = Len(strWhere) - 1
If lngLen > 0 Then
GetValues = "[" & lstField & "] IN (" & Left$(strWhere, lngLen) & ")"
End If
End Function
' if Invoice Types are ID numbers:
strFilter = "[Invoice Type] IN (4, 15, 77)"
' or if Invoice Types are text:
strFilter = "[Invoice Type] IN ('xx', 'yy', 'zz')"
DoCmd.OpenReport "CompleteTransRPT", acViewReport, "", strFilter, acNormal