Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-05

lazreport, user function y fechas

20 messages · 7 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Paola Bruccoleri

Hola a todos..

Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, si esta est� vac�a, se pone otra.
En el evento UserFuncion hago esto:

procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2,
   p3: Variant; var Val: Variant);
var
   dFechaRP, dFechaFin: string;
begin
   if AName='FECHARP' then begin
     dFechaRP := frParser.Calc(P1);
     dFechaFin:= frParser.Calc(P2);
     if dFechaRP = '' then
        Val:= dFechaFin
     else
        Val:= dFechaRP;
   end;
end;

En el reporte, en esa columna, pongo esto:
[FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ]

Los campos de la consulta son tipo DATE (firebird)

ya he hecho varias pruebas.. poniendo las variables dFechaRP y dFechaFin como TDate...
pero no hay caso, obtengo un error

evidentemente porque hay algo mal en esto..

�s�lo 3 par�metros puede aceptar la funci�n que uno defina? (por los p1, p2, p3)

Agradezco alguna ayuda.
muchas gracias
chauuuuuuuuu

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110514/088c7d9a/attachment.html> ------------ pr�xima parte ------------
A non-text attachment was scrubbed...
Name: moz-screenshot-40.png
Type: image/png
Size: 6689 bytes
Desc: no disponible
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110514/088c7d9a/attachment.png>

Reply by email

Walter Adolfo Arredondo P.
to Paola Bruccoleri

Hola a Todos,
Quien me podrai regalar una aplicacion que maneje el pueto serial.

Saludos,
Walter

2011/5/14 Paola Bruccoleri <pbruccoleri en adinet.com.uy>

Show quoted text 49 lines
Hola a todos.. Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, si esta est� vac�a, se pone otra. En el evento UserFuncion hago esto: procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2, p3: Variant; var Val: Variant); var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := frParser.Calc(P1); dFechaFin:= frParser.Calc(P2); if dFechaRP = '' then Val:= dFechaFin else Val:= dFechaRP; end; end; En el reporte, en esa columna, pongo esto: [FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ] Los campos de la consulta son tipo DATE (firebird) ya he hecho varias pruebas.. poniendo las variables dFechaRP y dFechaFin como TDate... pero no hay caso, obtengo un error evidentemente porque hay algo mal en esto.. �s�lo 3 par�metros puede aceptar la funci�n que uno defina? (por los p1, p2, p3) Agradezco alguna ayuda. muchas gracias chauuuuuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Atentamente,* ---------------------------------------------------------------------------* *--------------------- Ing. Walter Adolfo Arredondo Paternina ** **INSTRUCTOR** - CEAI** SENA REGIONAL VALLE DEL CAUCA* * Especialista en Automatizacion Industrial Cel : 3165370197 warredondo en misena.edu.co ** ---------------------------------------------------------------------------- **---------------------* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110515/3f774c22/attachment.html> ------------ pr�xima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/png Size: 6689 bytes Desc: no disponible URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110515/3f774c22/attachment.png>

Reply by email

Paola Bruccoleri
to Walter Adolfo Arredondo P.

El 15/05/2011 11:09 a.m., Walter Adolfo Arredondo P. escribi�:

Show quoted text 6 lines
Hola a Todos, Quien me podrai regalar una aplicacion que maneje el pueto serial. Saludos, Walter

Hola Walter..
todav�a no he hecho cosas relacionadas a los puertos.. no tengo nada para compartir
pero.. deber�as haber abierto un hilo nuevo porque lo que pides no tiene nada que ver con mi mensaje!
chauuuuuuuuuuu

Reply by email

Walter Adolfo Arredondo P.
to Paola Bruccoleri

un hilo nuevo ???,
como se hace ... ayer apenas me registre.

Cordial Saludo,
Walter.

El 15 de mayo de 2011 09:45, Paola Bruccoleri
<pbruccoleri en adinet.com.uy>escribi�:

Show quoted text 22 lines
El 15/05/2011 11:09 a.m., Walter Adolfo Arredondo P. escribi�: Hola a Todos, > Quien me podrai regalar una aplicacion que maneje el pueto serial. > > Saludos, > Walter > > Hola Walter.. todav�a no he hecho cosas relacionadas a los puertos.. no tengo nada para compartir pero.. deber�as haber abierto un hilo nuevo porque lo que pides no tiene nada que ver con mi mensaje! chauuuuuuuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Atentamente,* ---------------------------------------------------------------------------* *--------------------- Ing. Walter Adolfo Arredondo Paternina ** **INSTRUCTOR** - CEAI** SENA REGIONAL VALLE DEL CAUCA* * Especialista en Automatizacion Industrial Cel : 3165370197 warredondo en misena.edu.co ** ---------------------------------------------------------------------------- **---------------------* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110515/87947203/attachment.html>

Reply by email

Paola Bruccoleri
to Walter Adolfo Arredondo P.

El 15/05/2011 02:07 p.m., Walter Adolfo Arredondo P. escribi�:

un hilo nuevo ???, como se hace ... ayer apenas me registre.

Comenz�s un mail nuevo!, no en respuesta a uno que ves.. como con cq lista de correo..

la dir de la lista es: lazarus-es en lists.lazarus.freepascal.org chauuuuuu

Reply by email

Walter Adolfo Arredondo P.
to Paola Bruccoleri

mil Gracias,
saludos,

El 15 de mayo de 2011 14:35, Paola Bruccoleri
<pbruccoleri en adinet.com.uy>escribi�:

Show quoted text 19 lines
El 15/05/2011 02:07 p.m., Walter Adolfo Arredondo P. escribi�: un hilo nuevo ???, > como se hace ... ayer apenas me registre. > > > Comenz�s un mail nuevo!, no en respuesta a uno que ves.. como con cq lista de correo.. la dir de la lista es: lazarus-es en lists.lazarus.freepascal.org chauuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Atentamente,* ---------------------------------------------------------------------------* *--------------------- Ing. Walter Adolfo Arredondo Paternina ** **INSTRUCTOR** - CEAI** SENA REGIONAL VALLE DEL CAUCA* * Especialista en Automatizacion Industrial Cel : 3165370197 warredondo en misena.edu.co ** ---------------------------------------------------------------------------- **---------------------* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110515/77ed766d/attachment-0001.html>

Reply by email

Fredy Gonzales
to Walter Adolfo Arredondo P.: Quien me podrai regalar una aplicacion que maneje el pueto serial. Walter 2011/5/14 Paola…

busca en mr. google a TurboCom, esta echo en lazarus y te dan el codigo fuente.

Saludos.

FG

Earlier message 58 lines
----- Original Message ----- From: Walter Adolfo Arredondo P. To: Spanish version of Lazarus List Sent: Sunday, May 15, 2011 9:09 AM Subject: Re: [Lazarus-es] lazreport, user function y fechas Hola a Todos, Quien me podrai regalar una aplicacion que maneje el pueto serial. Saludos, Walter 2011/5/14 Paola Bruccoleri <pbruccoleri en adinet.com.uy> Hola a todos.. Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, si esta est� vac�a, se pone otra. En el evento UserFuncion hago esto: procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2, p3: Variant; var Val: Variant); var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := frParser.Calc(P1); dFechaFin:= frParser.Calc(P2); if dFechaRP = '' then Val:= dFechaFin else Val:= dFechaRP; end; end; En el reporte, en esa columna, pongo esto: [FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ] Los campos de la consulta son tipo DATE (firebird) ya he hecho varias pruebas.. poniendo las variables dFechaRP y dFechaFin como TDate... pero no hay caso, obtengo un error evidentemente porque hay algo mal en esto.. �s�lo 3 par�metros puede aceptar la funci�n que uno defina? (por los p1, p2, p3) Agradezco alguna ayuda. muchas gracias chauuuuuuuuu

Reply by email

Walter Adolfo Arredondo P.
to Fredy Gonzales

Mil Gracias Freddy,
saludos,

2011/5/16 Fredy Gonzales <fredyg1965 en gmail.com>

Show quoted text 100 lines
busca en mr. google a TurboCom, esta echo en lazarus y te dan el codigo fuente. Saludos. FG ----- Original Message ----- *From:* Walter Adolfo Arredondo P. <warredondo en misena.edu.co> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> *Sent:* Sunday, May 15, 2011 9:09 AM *Subject:* Re: [Lazarus-es] lazreport, user function y fechas Hola a Todos, Quien me podrai regalar una aplicacion que maneje el pueto serial. Saludos, Walter 2011/5/14 Paola Bruccoleri <pbruccoleri en adinet.com.uy> > Hola a todos.. > > Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, > si esta est� vac�a, se pone otra. > En el evento UserFuncion hago esto: > > procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, > p2, > p3: Variant; var Val: Variant); > var > dFechaRP, dFechaFin: string; > begin > if AName='FECHARP' then begin > dFechaRP := frParser.Calc(P1); > dFechaFin:= frParser.Calc(P2); > > if dFechaRP = '' then > Val:= dFechaFin > else > Val:= dFechaRP; > end; > end; > > En el reporte, en esa columna, pongo esto: > [FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ] > > Los campos de la consulta son tipo DATE (firebird) > > ya he hecho varias pruebas.. poniendo las variables dFechaRP y dFechaFin > como TDate... > pero no hay caso, obtengo un error > > > evidentemente porque hay algo mal en esto.. > > �s�lo 3 par�metros puede aceptar la funci�n que uno defina? (por los p1, > p2, p3) > > Agradezco alguna ayuda. > muchas gracias > chauuuuuuuuu > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- Atentamente,* --------------------------------------------------------------------------- **--------------------- Ing. Walter Adolfo Arredondo Paternina ****INSTRUCTOR** - CEAI** SENA REGIONAL VALLE DEL CAUCA* * Especialista en Automatizacion Industrial Cel : 3165370197 warredondo en misena.edu.co ** ---------------------------------------------------------------------------- **---------------------* ------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Atentamente,* ---------------------------------------------------------------------------* *--------------------- Ing. Walter Adolfo Arredondo Paternina ** **INSTRUCTOR** - CEAI** SENA REGIONAL VALLE DEL CAUCA* * Especialista en Automatizacion Industrial Cel : 3165370197 warredondo en misena.edu.co ** ---------------------------------------------------------------------------- **---------------------* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110516/e3fc3d26/attachment.html> ------------ pr�xima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/png Size: 6689 bytes Desc: no disponible URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110516/e3fc3d26/attachment.png>

Reply by email

Paola Bruccoleri
to Paola Bruccoleri: Hola a todos.. Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO,…

El 14/05/2011 07:20 p.m., Paola Bruccoleri escribi�:

Show quoted text 27 lines
Hola a todos.. Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, si esta est� vac�a, se pone otra. En el evento UserFuncion hago esto: procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2, p3: Variant; var Val: Variant); var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := frParser.Calc(P1); dFechaFin:= frParser.Calc(P2); if dFechaRP = '' then Val:= dFechaFin else Val:= dFechaRP; end; end; En el reporte, en esa columna, pongo esto: [FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ] Los campos de la consulta son tipo DATE (firebird)

Bueno.. dp de varias horas... sali�...

var
   dFechaRP, dFechaFin: string;
begin
   if AName='FECHARP' then begin
     dFechaRP := VarToStr(frParser.Calc(P1));
     dFechaFin:= VarToStr(frParser.Calc(P2));
     if (dFechaRP = '') then
        Val:= dFechaFin
     else
        Val:= dFechaRP;
   end;
end;

chauuuuuuuuuu

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110517/4fff1c8c/attachment.html>

Reply by email

Walter Adolfo Arredondo P.
to Paola Bruccoleri

Un Reporte, tengo algunas preguntas para precisar: Con que base de datos te estas comunicando ???
...
Que requerimientos tiene tu aplicacion, ....

2011/5/17 Paola Bruccoleri <pbruccoleri en adinet.com.uy>

Show quoted text 56 lines
El 14/05/2011 07:20 p.m., Paola Bruccoleri escribi�: Hola a todos.. Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, si esta est� vac�a, se pone otra. En el evento UserFuncion hago esto: procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2, p3: Variant; var Val: Variant); var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := frParser.Calc(P1); dFechaFin:= frParser.Calc(P2); if dFechaRP = '' then Val:= dFechaFin else Val:= dFechaRP; end; end; En el reporte, en esa columna, pongo esto: [FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ] Los campos de la consulta son tipo DATE (firebird) Bueno.. dp de varias horas... sali�... var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := VarToStr(frParser.Calc(P1)); dFechaFin:= VarToStr(frParser.Calc(P2)); if (dFechaRP = '') then Val:= dFechaFin else Val:= dFechaRP; end; end; chauuuuuuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Atentamente,* ---------------------------------------------------------------------------* *--------------------- Ing. Walter Adolfo Arredondo Paternina ** **INSTRUCTOR** - CEAI** SENA REGIONAL VALLE DEL CAUCA* * Especialista en Automatizacion Industrial Cel : 3165370197 warredondo en misena.edu.co ** ---------------------------------------------------------------------------- **---------------------* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110517/eadfd3a3/attachment.html>

Reply by email

Paola Bruccoleri
to Walter Adolfo Arredondo P.

El 17/05/2011 07:43 p.m., Walter Adolfo Arredondo P. escribi�:

Un Reporte, tengo algunas preguntas para precisar: Con que base de datos te estas comunicando ??? ...

firebird

Que requerimientos tiene tu aplicacion, ....

no capto a qu� viene la preguta!
chauuuuuu

Reply by email

Ismael L. Donis García
to Paola Bruccoleri: El 14/05/2011 07:20 p.m., Paola Bruccoleri escribi�: Bueno.. dp de varias horas...…

Paola si lo �ltimo que pones te sali� bien entonces yo lo har�a de otra forma, por simple gusto:

procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2,
  p3: Variant; var Val: Variant);
begin
  if AName='FECHARP' then begin
    if length(VarToStr(frParser.Calc(P1))) = 0 then
       Val:= VarToStr(frParser.Calc(P2))
    else
       Val:= VarToStr(frParser.Calc(P1));
  end;
end;

No se lo veo m�s limpio, repito es solo cuesti�n de gustos.

Saludos Cordiales
=========
|| ISMAEL ||
=========

Earlier message 58 lines
----- Original Message ----- From: Paola Bruccoleri To: Spanish version of Lazarus List Sent: Tuesday, May 17, 2011 5:18 PM Subject: Re: [Lazarus-es] lazreport, user function y fechas El 14/05/2011 07:20 p.m., Paola Bruccoleri escribi�: Hola a todos.. Estoy haciendo un reporte. En una de las columnas debe ir una fecha, PERO, si esta est� vac�a, se pone otra. En el evento UserFuncion hago esto: procedure TListadoAntecedentes.rptUserFunction(const AName: String; p1, p2, p3: Variant; var Val: Variant); var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := frParser.Calc(P1); dFechaFin:= frParser.Calc(P2); if dFechaRP = '' then Val:= dFechaFin else Val:= dFechaRP; end; end; En el reporte, en esa columna, pongo esto: [FechaRP([qry."FECHA_RECEPCIONPROV"], [qry."FECHA_FIN"] ) ] Los campos de la consulta son tipo DATE (firebird) Bueno.. dp de varias horas... sali�... var dFechaRP, dFechaFin: string; begin if AName='FECHARP' then begin dFechaRP := VarToStr(frParser.Calc(P1)); dFechaFin:= VarToStr(frParser.Calc(P2)); if (dFechaRP = '') then Val:= dFechaFin else Val:= dFechaRP; end; end; chauuuuuuuuuu ------------------------------------------------------------------------------

Reply by email

Maxi
to Paola Bruccoleri: El 17/05/2011 07:43 p.m., Walter Adolfo Arredondo P. escribi�: firebird no capto a…

Paola, no se que fecha pones, pero podes resolverlo de 2 formas sin nada dentro del reporte
1. Usas un campo calculado y ahi pones la fecha que necesitas segun el caso.
2. Lo resolves por sql haciendo esto:
select coalesce(mifecha1,minuevafecha, mifecha1), nombre direccion from mitabla where .....
Mas referencias
http://www.firebirdsql.org/refdocs/langrefupd15-coalesce.html ------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110518/96c52ab6/attachment.html>

Reply by email

Paola Bruccoleri
to Maxi

El 18/05/2011 09:45 a.m., Maxi escribi�:

Show quoted text 10 lines
Paola, no se que fecha pones, pero podes resolverlo de 2 formas sin nada dentro del reporte 1. Usas un campo calculado y ahi pones la fecha que necesitas segun el caso. 2. Lo resolves por sql haciendo esto: select coalesce(mifecha1,minuevafecha, mifecha1), nombre direccion from mitabla where ..... Mas referencias http://www.firebirdsql.org/refdocs/langrefupd15-coalesce.html

Hola Maxi..
muchas gracias por tu sugerencia.. es que esas opciones las hab�a pasado x alto debido a vicios viejos que tengo de no usar sql asiduamente! Como estas opciones son mucho m�s eficientes, ya lo solucion� de la forma que me indicastes sin tocar nada del reporte. chauuuuuuuuu

Reply by email

Maxi
to Paola Bruccoleri

buenimo!!!, les recomiendo siempre usen cualquier metodo de estos en las bases de datos, incluso estas consultas si las haces como vistas podes hacer correcciones sin tocar codigo.
Y te ahorras horas de trabajo incluso podes solucionar un inconveniente remotamente a tu cliente accediendo a la Base.

No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Twitter: @nenunocomar Identi.ca: @nenuno Linux User #495070 Ubuntu User #28504 http://miexperiencialinux.blogspot.com/ El que pregunta aprende, y el que contesta aprende a responder. ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110519/151c5454/attachment.html>

Reply by email

Paola Bruccoleri
to Maxi

El 19/05/2011 09:50 a.m., Maxi escribi�:

Show quoted text 6 lines
buenimo!!!, les recomiendo siempre usen cualquier metodo de estos en las bases de datos, incluso estas consultas si las haces como vistas podes hacer correcciones sin tocar codigo. Y te ahorras horas de trabajo incluso podes solucionar un inconveniente remotamente a tu cliente accediendo a la Base.

Hola Maxi..
estoy usando firebird..nunca he usado vistas.. ahora me pongo a buscar m�s info.. pero ten�s ejemplos? porqu� dec�s que las vistas son mejores que las consultas comunes?
muchas gracias
chauuuuuuuuuu

Reply by email

Maxi
to Paola Bruccoleri

Segun estudios las vistas son mas eficientes ya q estan almacenadas en el motor, dependiendo de la consulta pueden o no ser actualizables es un standart sql 92.
En la vista podes usar joins uniones, select y wheres, agrupar pero no ordenar. El resultado lo ordenas y refiltrar si queres. Ejemplo: create view (lista de columnas) minombre de vista as Mi tremendo select
End;

El numero de columnas del select

El 19/05/11, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 20 lines
El 19/05/2011 09:50 a.m., Maxi escribi�: > buenimo!!!, les recomiendo siempre usen cualquier metodo de estos en > las bases de datos, incluso estas consultas si las haces como vistas > podes hacer correcciones sin tocar codigo. > Y te ahorras horas de trabajo incluso podes solucionar un > inconveniente remotamente a tu cliente accediendo a la Base. > Hola Maxi.. estoy usando firebird..nunca he usado vistas.. ahora me pongo a buscar m�s info.. pero ten�s ejemplos? porqu� dec�s que las vistas son mejores que las consultas comunes? muchas gracias chauuuuuuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Twitter: @nenunocomar Identi.ca: @nenuno Linux User #495070 Ubuntu User #28504 http://miexperiencialinux.blogspot.com/ El que pregunta aprende, y el que contesta aprende a responder.

Reply by email

Julio César Gázquez
to Maxi

Complemento la data de Maxi, respecto a las vistas actualizables, es muy similar a lo que se da con las queries en Delphi o Zeos

Los casos triviales (por ejemplo una vista donde se filtra un subconjunto de registros de la tabla)
el motor de base de datos resuelve solo como hacer los inserts y los updates.

En cambio en una vista con joins no se puede saber impl�citamente que hacer, si hay que actualizar todas las tablas, o si alguna se incluy� s�lo para devolver datos a modo informativo, en esos casos se pueden escribir triggers en los cuales poner los inserts, updates y/o deletes necesarios para que funcione como uno quiere, en forma an�loga a las propiedades que han en las queries de sqldb o el objeto auxiliar que hay en ZEOS y BDE para hacer los updates.

Estirando un poco m�s el tema, en PostgreSQL hay herencia de tablas, donde uno define una nueva tabla como los campos extra de un subtipo de una tabla existente y el motor tras bambalinas cuando se usa esa tabla hace la consulta y las actualizaciones que en otro caso requerir�a crear una vista con un join y triggers. Pero Firebird 2 creo que por el momento no soporta esto.

Saludos!

El 19/05/11 17:54, Maxi escribi�:

Show quoted text 9 lines
Segun estudios las vistas son mas eficientes ya q estan almacenadas en el motor, dependiendo de la consulta pueden o no ser actualizables es un standart sql 92. En la vista podes usar joins uniones, select y wheres, agrupar pero no ordenar. El resultado lo ordenas y refiltrar si queres. Ejemplo: create view (lista de columnas) minombre de vista as Mi tremendo select End;
/Ing. Julio C�sar G�zquez / MEBA - Mutual de Empleados del Banco/ / Mitre 923 1� Piso 0341- 4110533 / 4265010 / 0800 9990452 S2000COS ROSARIO// / *16 resmas = 1 �rbol* Raz�n suficiente para pensar si es necesario imprimir este correo ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110520/8f4dd48d/attachment.html>

Reply by email

Walter
to Julio César Gázquez

Hola a todos...
Una pastillita para compartir y debatir...
Totalmente de acuerdo con lo expuesto, las vistas y esas cosas que corren del lado del servidor de datos...peeeero....�y si ma�ana deciden cambiar de motor de base de datos...?...todo lo hecho ahi...�ser� compatible con el nuevo motor...programar toda esa parte de nuevo...?.Me est� pasando ahora que tengo aplicaciones con Interbase y se les ocurri� comprar Oracle...

Hasta las vista,babys...!!!

2011/5/20 Julio C�sar G�zquez <julio en mebamutual.com.ar>

Show quoted text 55 lines
Complemento la data de Maxi, respecto a las vistas actualizables, es muy similar a lo que se da con las queries en Delphi o Zeos Los casos triviales (por ejemplo una vista donde se filtra un subconjunto de registros de la tabla) el motor de base de datos resuelve solo como hacer los inserts y los updates. En cambio en una vista con joins no se puede saber impl�citamente que hacer, si hay que actualizar todas las tablas, o si alguna se incluy� s�lo para devolver datos a modo informativo, en esos casos se pueden escribir triggers en los cuales poner los inserts, updates y/o deletes necesarios para que funcione como uno quiere, en forma an�loga a las propiedades que han en las queries de sqldb o el objeto auxiliar que hay en ZEOS y BDE para hacer los updates. Estirando un poco m�s el tema, en PostgreSQL hay herencia de tablas, donde uno define una nueva tabla como los campos extra de un subtipo de una tabla existente y el motor tras bambalinas cuando se usa esa tabla hace la consulta y las actualizaciones que en otro caso requerir�a crear una vista con un join y triggers. Pero Firebird 2 creo que por el momento no soporta esto. Saludos! El 19/05/11 17:54, Maxi escribi�: Segun estudios las vistas son mas eficientes ya q estan almacenadas en el motor, dependiendo de la consulta pueden o no ser actualizables es un standart sql 92. En la vista podes usar joins uniones, select y wheres, agrupar pero no ordenar. El resultado lo ordenas y refiltrar si queres. Ejemplo: create view (lista de columnas) minombre de vista as Mi tremendo select End; -- *Ing. Julio C�sar G�zquez / MEBA - Mutual de Empleados del Banco* * Mitre 923 1� Piso 0341- 4110533 / 4265010 / 0800 9990452 S2000COS ROSARIO** * *16 resmas = 1 �rbol* Raz�n suficiente para pensar si es necesario imprimir este correo _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Walter Mes�n ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110520/91e8e9a2/attachment.html>

Reply by email

Maxi
to Walter

Si son vistas no deberias tener mayores cambios de un motor a otro, salvo que hagas uso intensivo de funciones de ventanas como tiene oracle unicas y que no vas a encontrar en ningun motor. Recomiendo un libro excepcinal "curso avansado de sql" no lo tengo a mano ahora pero tiene una lagartija en latapa con fondo rojo.

No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Twitter: @nenunocomar Identi.ca: @nenuno Linux User #495070 Ubuntu User #28504 http://miexperiencialinux.blogspot.com/ El que pregunta aprende, y el que contesta aprende a responder.

Reply by email