ayuda con select iff

From: "GRUPO SIC, S(dot)A(dot) DE C(dot)V(dot)" <gsic(at)prodigy(dot)net(dot)mx>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: ayuda con select iff
Date: 2009-01-21 23:54:07
Message-ID: 4C4B97BEB1714E5FAE1E507F6E2FA4AA@programas
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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")


Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Aquino H. 2009-01-22 00:35:13 RE: ayuda con select iff
Previous Message Alvaro Herrera 2009-01-21 21:12:59 Re: Migrar de postgresql 8.1.11 a 8.3.5