Boa tarde
Anexo exemplo com explicação..
Obrigado
Anexo exemplo com explicação..
Obrigado
Private Sub Comando30_Click()
If MsgBox("Confirma a Visualização dos Registos do " & Chr(13) & "" & [Caixa_de_combinação4], vbYesNo, "Gestão Bancária") = vbYes Then
Dim varItem As Variant, strList As String, strList1 As String
With Me.Movimentos
If .ItemsSelected.Count = 0 Then 'conta se há pelo menos 1 selecionado
MsgBox "Selecione pelo menos um Banco " & Chr(13) & "E um Tipo de Movimento!", vbExclamation, "Gestão Bancária"
GoSub sai
Else
For Each varItem In .ItemsSelected
' Você deve alterar a strList conforme o seu caso específico
If strList = "" Then ' 1º laço do Loop
strList = .Column(0, varItem)
Else
' A linha abaixo só vai ocorrer a partir do 2º laço
strList = strList & "," & .Column(0, varItem)
End If
Next varItem
strList = Mid(strList, 2)
End If
End With
'Para a lista Rubrica
With Me.Rubrica
If .ItemsSelected.Count = 0 Then 'conta se há pelo menos 1 selecionado
MsgBox "Selecione pelo menos uma Rubrica ", vbExclamation, "Gestão Bancária"
GoSub sai
Else
For Each varItem In .ItemsSelected
' Você deve alterar a strList conforme o seu caso específico
If strList1 = "" Then ' 1º laço do Loop
strList1 = .Column(0, varItem)
Else
' A linha abaixo só vai ocorrer a partir do 2º laço
strList1 = strList1 & "','" & .Column(0, varItem)
End If
Next varItem
strList1 = Mid(strList1, 1)
End If
End With
On Error GoTo sai
StrSQL = "SELECT Lançamentos.Ordenar, Lançamentos.LN, Lançamentos.Data, Lançamentos.Conta, Lançamentos.[Data Valor]," _
& "Lançamentos.Movimentos, Lançamentos.Ref, Lançamentos.Entidade, Lançamentos.Doc, Lançamentos.Débito, Lançamentos.Crédito," _
& "Lançamentos.Observações, Lançamentos.Reconciliado, Lançamentos.[Pré Datado], Lançamentos.Valor" _
& " FROM Lançamentos WHERE Movimentos In ('" & strList & "') Or Ref In ('" & strList1 & "')"
MsgBox StrSQL
DoCmd.openForm "Resultado"
On Error Resume Next 'erro 2501 caso você cancele a impressão
If Err = 2501 Then
Err.Clear
DoCmd.Close
'DoCmd.OpenForm "Diálogo Lançamentos"
End If
Else
End If
sai:
End Sub
Private Sub Form_Load()
Me.RecordSource = StrSQL
End Sub
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
'If Me.RecordsetClone.RecordCount = 0 Then
' MsgBox "Não Existem Movimentos Para Visualizar", vbQuestion, "Gestão Bancária"
' Cancel = True
' Exit Sub
'DoCmd.Close acForm, "Resultado"
' End If
ReSizeForm Me
DoCmd.Maximize
|
|