Saludos,
Espero me puedan orientar un poco con este problema
Estoy migrando una aplicación vb6 acces a postgres, ya tengo la base
en postgres y la mayaria ya esta funcionando correctamente, pero
Encontre unos modulos con selects como el que acontinuación les muestro:
rst(0).Open "SELECT iif(AcumSalCX=1,'Cargo', iif(AcumSalCX=2, 'Abono',
'No Acumula')) as Concepto, " _
& "NumTipoDoc, NombreTipo, DoctoDE FROM TipoDoctos WHERE
DocCteProv=1 AND NumTipoDoc " _
& "in (" & Me.Tag & ") ORDER BY NumTipoDoc, " _
& "AcumSalCX", Cn, adOpenForwardOnl, adLockReadOnly
el problema es que postgres no me reconoce el iff o alguna función de
visual dentro de un select como (iif , len(campo), trim(campo), etc)
la documentación con la que cuento es poca y el tiempo es mucho menor
jeje,
tienen alguna idea de cómo sustituir este iff con una sentencia que
acepte postgres sin modificar mucho los selects (ya que son bastantes)
y si hay alguna sintaxis para que postgres me acepte las funciones de
visual dentro de un select.
Gracias por su atención
Aqui pongo otro ejemplo de un select
Cn.Execute ("INSERT INTO TmpEdoCuenta SELECT
sum(iif(Cobranza.FecVencedo<='#" _
& Format(Txt(1), "dd/mm/yy") & "#', iif(Cobranza.Naturaleza='C',
iif(Cobranza.FecDocto<='#" _
& Format(Txt(1), "dd/m/yy") & "#', Cobranza.ImpPendDoc, 0), 0) -
iif(Cobranza.Naturaleza='A', iif(Cobranza.FecDocto<='#" _
& Format(Txt(1), "dd/mm/yy") & "#', Cobranza.ImpPendDoc, 0), 0),
0)) as Vencido, CatTipMoneda.Descrip as Moneda, " _
& "Clientes.RazonSocial as Cliente, Clientes.IdCliente as
idCliente, " _
& "Clientes.LimCred as LimiteCredito, Agentes.NomAgent as
Cobrador, " _
& " Cobranza.FecDocto as FechaDocto, Cobranza.NumDocto as
NoDocto, Cobranza.Naturaleza, " _
& "TipoDoctos.NombreTipo as TipoDocto,
iif(Cobranza.Naturaleza='C', " _
& "Cobranza.ImpTotalDo, 0) as Cargos,
iif(Cobranza.Naturaleza='A', " _
& "Cobranza.ImpTotalDo, 0) as Abonos,
iif(Cobranza.Naturaleza='C', iif(Cobranza.FecDocto<='#" _
& Format(Txt(1), "dd/mm/yy") & "#', Cobranza.ImppendDoc, 0), 0)
- iif(Cobranza.Naturaleza='A', iif(Cobranza.FecDocto<='#" _
& Format(Txt(1), "dd/mm/yy") & "#', Cobranza.ImppendDoc, 0), 0)
as SaldoDocto, " _
& "Cobranza.FecVenceDo as FechaVmto FROM Cobranza, Clientes,
Agentes, " _
& "TipoDoctos, CatTipMoneda WHERE
Cobranza.CodCteProv=Clientes.IdCliente " _
& "AND Cobranza.NumTipoDoc=TipoDoctos.NumTipoDoc AND
Cobranza.MonedaDoct=" _
& "CatTipMoneda.Clave AND clientes.noagenteco=agentes.noagente
AND Clientes.idCliente>=" & Inicial _
& " AND Clientes.Idcliente<=" & Final & " AND
cobranza.Fecdocto>=#" & Format(Text1, "mm/dd/yy") & "# AND
Cobranza.FecDocto<=#" & Format(Txt(1), "mm/dd/yy") & "#" _
& " AND Agentes.ClaseAge=2 GROUP BY CatTipMoneda.Descrip,
Clientes.RazonSocial, Clientes.IdCliente, " _
& "Clientes.LimCred, Agentes.NomAgent, Cobranza.FecDocto, " _
& "Cobranza.NumDocto, Naturaleza, TipoDoctos.NombreTipo,
iif(Cobranza.Naturaleza='C', " _
& "Cobranza.ImpTotalDo, 0), iif(Cobranza.Naturaleza='A',
Cobranza.ImpTotalDo, 0), " _
& "iif(Cobranza.Naturaleza='C', iif(Cobranza.FecDocto<=#" &
Format(Txt(1), "mm/dd/yy") _
& "#, Cobranza.ImpPendDoc, 0), 0) - iif(Cobranza.Naturaleza='A',
iif(Cobranza.FecDocto<=#" _
& Format(Txt(1), "mm/dd/yy") & "#, Cobranza.ImpPendDoc, 0), 0),
Cobranza.FecVenceDo")