Exmos
Só vocês me conseguirão recolver este quebra cabeças.
Numa consulta tenho este cálculo, mas estou a tentar passar tudo para listbox para aumentar a estabilidade.
Em listbox ficaria:
Como posso colocar um if no calculo em SQL no VBA?
Só vocês me conseguirão recolver este quebra cabeças.
Numa consulta tenho este cálculo, mas estou a tentar passar tudo para listbox para aumentar a estabilidade.
- Código:
SELECT Sum(IIf([TipoMov]="R",[Montante],-[Montante])) AS Saldo
FROM Situação INNER JOIN (Entidade INNER JOIN (Despesas INNER JOIN (Banco INNER JOIN Movimentos ON Banco.ID = Movimentos.Banco) ON Despesas.ID = Movimentos.Descricao) ON Entidade.ID = Movimentos.Entidade) ON Situação.ID = Movimentos.Situacao
GROUP BY Banco.Banco, Situação.Situação
HAVING (((Banco.Banco)=[Formulários]![frm_trab_banco]![CaixaCombinação8]) AND ((Situação.Situação)="Realizado"));
Em listbox ficaria:
- Código:
Private Sub Saldo_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
With Lbx
.RowSourceType = "Value List"
.ColumnCount = 1
.ColumnWidths = "5cm"
.ColumnHeads = True
.RowSource = "Saldo"
.Requery
End With
strSQL = "SELECT Sum(IIf([TipoMov]="R",[Montante],-[Montante])) AS Saldo" '---não consigo fazer esta parte, como se coloca um if a calcular no select em vba?
strSQL = strSQL & " FROM Movimentos"
strSQL = strSQL & " INNER JOIN Banco on Banco.ID = Movimentos.Banco"
strSQL = strSQL & " INNER JOIN Situação on Situação.ID = Movimentos.Situação"
strSQL = strSQL & " GROUP BY Banco.Banco, Situação.Situação"
If Nz(Me.CaixaCombinação8, "") <> "" Then
strSQL = strSQL & " HAVING Banco='" & Me.CaixaCombinação8 & "'"
End If
strSQL = strSQL & " and Situação='" & Realizado & "'"
End If
Set rs = CurrentDb.OpenRecordset(strSQL)
'Para colocar dados na listbox
Do Until rs.EOF
Me.Lbx.AddItem rs!Montante
rs.MoveNext
Loop
'Fecha recordset
rs.Close
'Apaga recordset da memoria
Set rs = Nothing
End Sub
Como posso colocar um if no calculo em SQL no VBA?