Carvalho 16/7/2023, 19:58
Boa tarde,
só um pitaco de leve, kkkk
Ao trabalhar com o Firebird, algumas funções do Access, como NZ e VAL, não estão disponíveis. No entanto, você pode usar funções equivalentes do Firebird para alcançar o mesmo resultado.
Em vez de NZ, você pode usar a função COALESCE para fornecer um valor padrão caso um campo seja nulo. Por exemplo, em vez de NZ(Campo, ValorPadrao), você pode usar COALESCE(Campo, ValorPadrao).
Em vez de VAL, você pode usar a função CAST para converter uma string em um número. Por exemplo, em vez de VAL(Campo), você pode usar CAST(Campo AS INTEGER) para converter para um número inteiro. Certifique-se de ajustar o tipo de dados (INTEGER, FLOAT, etc.) conforme necessário.
Aqui está o seu código atualizado para usar as funções equivalentes no Firebird, veja se ajuda
- Código:
Public Function ComparaTabelas()
Parametros_de_SysConectDate "SysConectData.Jas"
Dim MesAno As String
MesAno = "06/2023"
MA_I = DateSerial(Year(Format(MesAno, "mm/yyyy")), Month(Format(MesAno, "mm/yyyy")), 1)
MA_F = DateSerial(Year(Format(MesAno, "mm/yyyy")), Month(Format(MesAno, "mm/yyyy")) + 1, 0)
Filtro = Format(MA_I, "mm/dd/yyyy") & "' AND '" & Format(MA_F, "mm/dd/yyyy")
Call Conectar
strSQL = "SELECT Lanccar.DATALANC, Lanccar.VLRLC, Lanccielo.VLRLC, Lanccar.IDC, Lanccar.DESCRICAO " & vbCrLf & _
"FROM Lanccar LEFT JOIN Lanccielo ON Lanccar.VLRLC = Lanccielo.VLRLC " & vbCrLf & _
"WHERE (Lanccar.DATALANC Between '" & Filtro & "')" & vbCrLf & _
"ORDER BY Lanccar.DATALANC;"
Set rs = Conexao.Execute(strSQL, 4)
Do While Not rs.EOF
MsgBox rs.Fields("VLRLC").Value
rs.MoveNext
Loop
Call Desconectar
End Function