Alexandre Neves 11/4/2013, 16:13
Boa tarde, Assis
Private Sub Comando30_Click()
If MsgBox("Confirma a Visualização dos Registos do " & Chr(13) & "" & [Caixa_de_combinação4], vbYesNo, "Gestão Despesas") = vbYes Then
Dim varItem As Variant, strList As String
With Me.Movimentos
If .ItemsSelected.Count = 0 Then 'conta se há pelo menos 1 selecionado
MsgBox "Selecione pelo menos uma Conta " & Chr(13) & "E um Tipo de Movimento!", vbExclamation, "Gestão Despesas"
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)
''''' strList = (strList)
strList = Mid(strList, 1)
End If
End With
'Para a lista Rubrica
StrSQL = "SELECT LançamentosMov.ID, LançamentosMov.Data, LançamentosMov.Conta, LançamentosMov.Despesa, LançamentosMov.Rubrica," _
& "LançamentosMov.Doc, LançamentosMov.VLR, LançamentosMov.Destino, LançamentosMov.num" _
& " FROM LançamentosMov WHERE Despesa In (" & strList & ")"
'MsgBox StrSQL
On Error GoTo sai
DoCmd.openForm "Resultado"
On Error Resume Next 'erro 2501 caso você cancele a impressão
If Err = 2501 Then
Err.Clear
DoCmd.Close
End If
Else
End If
sai:
End Sub