Exmos
Tenho este código para gerar extratos de conta corrente.
No entanto se não existirem dados o Access cai e tenho de voltar a entrar o que se torna numa chatice.
Existe alguma forma de fazer uma validação antes de iniciar?
Se não tiver dados, mostra uma janela informativa a dizer que não tem dados para apresentar, se tiver dados executa o procedimento.
Como posso adaptar isso no código?
A consulta que alimenta o extrato, chama-se Tabela1
O código que faz o calculo do extrato é este:
Tenho este código para gerar extratos de conta corrente.
No entanto se não existirem dados o Access cai e tenho de voltar a entrar o que se torna numa chatice.
Existe alguma forma de fazer uma validação antes de iniciar?
Se não tiver dados, mostra uma janela informativa a dizer que não tem dados para apresentar, se tiver dados executa o procedimento.
Como posso adaptar isso no código?
A consulta que alimenta o extrato, chama-se Tabela1
- Código:
SELECT Movimentos.Data, Movimentos.Montante AS Valor, Movimentos.Cliente, Movimentos.Descrição, Movimentos.Tipo
FROM Movimentos
WHERE (((Movimentos.Descrição)<>"Saldo Abertura"));
O código que faz o calculo do extrato é este:
- Código:
Option Compare Database
Dim dblAcumulado As Double
Private Sub CabeçalhoDoRelatório_Print(Cancel As Integer, PrintCount As Integer)
Dim strFiltro$
strFiltro = "Cliente ='" & Forms!frmExtrato!cboTexto & "' and "
strFiltro = strFiltro & "[data] < #" & Format(Forms!frmExtrato!dataInicial, "mm/dd/yyyy") & "#"
Me!SaldoAnterior = Nz(DSum("Valor", "Tabela1", strFiltro), 0)
dblAcumulado = Me!SaldoAnterior
End Sub
Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
End Sub
Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
dblAcumulado = Me!Valor + dblAcumulado
Me!saldo = dblAcumulado
End Sub
Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
End Sub
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
End Sub
Private Sub Report_Open(Cancel As Integer)
Dim strFiltro$
strFiltro = "[Cliente] ='" & Forms!frmExtrato!cboTexto & "' and "
strFiltro = strFiltro & "([data] between #" & Format(Forms!frmExtrato!dataInicial, "mm/dd/yyyy") & "# "
strFiltro = strFiltro & "AND #" & Format(Forms!frmExtrato!DataFinal, "mm/dd/yyyy") & "#)"
Me.RecordSource = "SELECT * FROM Tabela1 WHERE " & strFiltro & " ORDER BY [data];"
End Sub
Private Sub RodapéDoRelatório_Print(Cancel As Integer, PrintCount As Integer)
dblAcumulado = 0
End Sub