[GUFA] OT - Método Grabar.

2010-05-17 Por tema Lucio A. Lamanna
Hola ,Lista:

Quisiera saber si existen razones para recomendar el uso del metodo 2 sobre el 
metodo 1 , ya que a mí hasta ahora me ha resultado mas rapido el metodo 1.
Trabajo con DBFs en una BD de VFP9.
(Cabe aclarar que en el segundo caso, SY(3054,1) me notifica q Rushmore no esta 
optimizando , aunque la clave es CODIGO.)

Opcion 1 .
SELECT producto
IF alta

APPEND BLANK
REPLACE codigo  WITH cCodigo
REPLACE descrip WITH cDescrip

ELSE

LOCATE FOR codigo = cCodigo
REPLACE descrip WITH cDescrip

ENDIF

Opcion 2 .
IF alta
INSERT INTO producto (codigo , descrip ) VALUES (cCodigo , cDescrip ) 
ELSE
UPDATE producto SET descrip = cDescrip WHERE codigo = cCodigo
ENDIF



[GUFA] Re: [GUFA] OT - Método Grabar.

2010-05-17 Por tema Pablo Pioli
Para el alta la opcion 1, para la actualizacion la opcion 2, asi puedo 
controlar mejor el locking del registro.

Pablo Pioli

- Original Message - 
From: Lucio A. Lamanna 
To: GUFA List Member 
Sent: Monday, May 17, 2010 11:35 AM
Subject: [GUFA] OT - Método Grabar.


Hola ,Lista:

Quisiera saber si existen razones para recomendar el uso del metodo 2 sobre el 
metodo 1 , ya que a mí hasta ahora me ha resultado mas rapido el metodo 1.
Trabajo con DBFs en una BD de VFP9.
(Cabe aclarar que en el segundo caso, SY(3054,1) me notifica q Rushmore no esta 
optimizando , aunque la clave es CODIGO.)

Opcion 1 .
SELECT producto
IF alta

APPEND BLANK
REPLACE codigo  WITH cCodigo
REPLACE descrip WITH cDescrip

ELSE

LOCATE FOR codigo = cCodigo
REPLACE descrip WITH cDescrip

ENDIF

Opcion 2 .
IF alta
INSERT INTO producto (codigo , descrip ) VALUES (cCodigo , cDescrip ) 
ELSE
UPDATE producto SET descrip = cDescrip WHERE codigo = cCodigo
ENDIF



[GUFA] Consulta con dos tablas

2010-05-17 Por tema Tomás Corrales Lemoine
Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita,
ya que no he sabido encontrar la solución correcta:

 

Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos
similares entre sí, es decir:

 

t1.dbf   t2.dbf

f1- f1

f2- f2

f3- f3

f21 - f13

 

Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los
registros de ambas tablas. Una forma sería crear una tabla temporal con los
4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de
t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal
resultante.

 

Lo que quiero saber es si hay una forma más directa, sin crear una tabla
temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino
que esto tenga una solución (tal vez con UNION o JOIN), pero no la he
encontrado y agradecería me ayudaran en lo posible.

 

Un fraternal saludo,

 

Tomás Corrales Lemoine

 


 
Aeropuerto Internacional Frank País García de Holguín.





[GUFA] Consulta con dos tablas

2010-05-17 Por tema Pablo Siguenza
Fijate con Select … from tabla1 join tabla2 where …  (en la ayuda de VFP
tenés ejemplos )

 

 

 

Pablo Sigüenza

  _  

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Tomás Corrales
Lemoine
Enviado el: Lunes, 17 de Mayo de 2010 04:18 p.m.
Para: GUFA List Member
Asunto: [GUFA] Consulta con dos tablas

 

Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita,
ya que no he sabido encontrar la solución correcta:

 

Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos
similares entre sí, es decir:

 

t1.dbf   t2.dbf

f1- f1

f2- f2

f3- f3

f21 - f13

 

Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los
registros de ambas tablas. Una forma sería crear una tabla temporal con los
4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de
t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal
resultante.

 

Lo que quiero saber es si hay una forma más directa, sin crear una tabla
temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino
que esto tenga una solución (tal vez con UNION o JOIN), pero no la he
encontrado y agradecería me ayudaran en lo posible.

 

Un fraternal saludo,

 

Tomás Corrales Lemoine

 


-- 
Aeropuerto Internacional Frank País García de Holguín. 

Se certificó que el correo entrante no contiene virus.
Comprobada por AVG - www.avg.es
Versión: 9.0.819 / Base de datos de virus: 271.1.1/2875 - Fecha de la
versión: 05/17/10 03:26:00




[GUFA] Consulta con dos tablas

2010-05-17 Por tema daniel . calvin
Escribo de memoria

Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2

En condicion del ON fijate de establecer la igualdad de los campos que te 
relacionan una y otra tabla.

El inner join te va a retornar solo aquellos registros cuyos campos vinculados 
existan en ambas tablas.
Outer los registros de ambas existan o no los valores vinculados.
Luego tambien lee Left y Right JOIN

Espero se entienda

Daniel Calvin
Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) 

-Original Message-
From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu
Date: Mon, 17 May 2010 14:17:40 
To: GUFA List MemberGUFA@mug.org.ar
Subject: [GUFA] Consulta con dos tablas

Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita,
ya que no he sabido encontrar la solución correcta:

 

Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos
similares entre sí, es decir:

 

t1.dbf   t2.dbf

f1- f1

f2- f2

f3- f3

f21 - f13

 

Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los
registros de ambas tablas. Una forma sería crear una tabla temporal con los
4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de
t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal
resultante.

 

Lo que quiero saber es si hay una forma más directa, sin crear una tabla
temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino
que esto tenga una solución (tal vez con UNION o JOIN), pero no la he
encontrado y agradecería me ayudaran en lo posible.

 

Un fraternal saludo,

 

Tomás Corrales Lemoine

 


 
Aeropuerto Internacional Frank País García de Holguín.






[GUFA] Ocultar page

2010-05-17 Por tema Tomás Corrales Lemoine
Oscar, imagino que debes querer algo como esto. Debes tener instalado el
Microsoft Tabbed Dialog Control 6. (SP4).

Saludos,

Tomás

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Oscar Gonzalez
Enviado el: Sábado, 15 de Mayo de 2010 05:11 p.m.
Para: GUFA List Member
Asunto: [GUFA] Ocultar page

 

Ok, de esta manera tengo las tres visibles pero deshabilito una, lo que yo
queria era tener solo dos visibles

Voy a ver entre las dos opciones que es lo que mejor puedo sacar

Muchas gracias

Saludos cordiales,

Oscar

 

  _  

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Rafael Copquin
Enviado el: Sábado, 15 de Mayo de 2010 06:58 p.m.
Para: GUFA List Member
Asunto: [GUFA] Ocultar page

 

En tu caso, para que te queden activas la 1 y la 2 y que tengas a la vista
la 2:

with thisform.pageframe1
   
.page1.enabled = .T.
.page2.enabled = .T.
.page3.enabled = .F.
.activepage = 2

endwith

Con activepage ponés al frente la página que querés

Rafael Copquin

 


El 15/05/2010 12:00, Oscar Gonzalez escribió: 

Hola 

En realidad lo que necesito es lo siguiente:

En un pageframe con tres pages la primera siempre tiene que estar visible y
según las condiciones necesito activar o la segunda o la tercera por codigo,
quiere decir que siempre estaria con dos paginas activas, la 1 y la 2 o la 1
y la 3

¿ de esta manera lo puedo hacer?

Saludos cordiales,

Oscar

  _  

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Ricardo Pina
Enviado el: Viernes, 14 de Mayo de 2010 11:21 p.m.
Para: GUFA List Member
Asunto: [GUFA] Ocultar page

 

Hola Oscar

 

Hay una manera de ocultar todos las solapas de pageframe, mostrandote la
pagina activa solamente con lo que tendrias que cambiar de pagina
programaticamente o por algun otro control.

 

Thisform.pageframe.tabs = .F.   Te oculta las solapas de pageframe

 

Espero que sea lo que buscas.

Saludos



 

El 14 de mayo de 2010 20:21, Oscar Gonzalez oogonza...@gmail.com escribió:

Gracias pero no me sirven, voy a colocar dos conteiner con los controles de
cada uno y los ocultare a mi gusto

Saludos cordiales,

Oscar

 

  _  

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de PabloC
Enviado el: viernes, 14 de mayo de 2010 17:25 


Para: GUFA List Member
Asunto: [GUFA] Ocultar page

 

La otra posibilidad es que sea la ultima pagina la que queres ocultar y en
runtime modifiques el pagecount al total - 1

 

Saludos

PabloC

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Carlos Miguel
FARIAS
Enviado el: Viernes, 14 de Mayo de 2010 17:15
Para: GUFA List Member
Asunto: [GUFA] Ocultar page

 


No le veo propiedad visible a un page del pageframe (que si lo tiene), lo
que podrìas hacer es quitarle el caption y ponerle enabled en falso, con eso
deberìa quedar suficientemente desaparecida (al menos no seleccionable)
Saludos: Miguel

--- El vie 14-may-10, Oscar Gonzalez oogonza...@gmail.com escribió:


De: Oscar Gonzalez oogonza...@gmail.com
Asunto: [GUFA] Ocultar page
Para: GUFA List Member GUFA@mug.org.ar
Fecha: viernes, 14 de mayo de 2010, 10:39

Hola.

Necesito ocultar una solapa de un PageFrame en determinadas ocasiones. ¿es
posible?

Saludos

Oscar


 




-- 
Ricardo Pina 
DSIP
Desarrollo y Servicios Informáticos Profesionales
www.dsip.com.ar 


-- 
Aeropuerto Internacional Frank País García de Holguín. 


 
Aeropuerto Internacional Frank País García de Holguín.





pack.rar
Description: Binary data


[GUFA] Consulta con dos tablas

2010-05-17 Por tema Tomás Corrales Lemoine
Gracias por responder, Pablo y Daniel. El problema es que la condición
t1.f1=t2.f1 and t1.f2=t2.f2… no me sirve porque necesito incluir todos los
t1.f1 y todos los t2.f1 aunque no sean iguales en ambas tablas. Lo mismo
para los demás campos.

Saludos,

Tomás

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de
daniel.cal...@gmail.com
Enviado el: Lunes, 17 de Mayo de 2010 01:34 p.m.
Para: GUFA List Member
Asunto: [GUFA] Consulta con dos tablas

 

Escribo de memoria

Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2

En condicion del ON fijate de establecer la igualdad de los campos que te
relacionan una y otra tabla.

El inner join te va a retornar solo aquellos registros cuyos campos
vinculados existan en ambas tablas.
Outer los registros de ambas existan o no los valores vinculados.
Luego tambien lee Left y Right JOIN

Espero se entienda

Daniel Calvin

Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) 

  _  

From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu 

Date: Mon, 17 May 2010 14:17:40 -0500

To: GUFA List MemberGUFA@mug.org.ar

Subject: [GUFA] Consulta con dos tablas

 

Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita,
ya que no he sabido encontrar la solución correcta:

 

Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos
similares entre sí, es decir:

 

t1.dbf   t2.dbf

f1- f1

f2- f2

f3- f3

f21 - f13

 

Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los
registros de ambas tablas. Una forma sería crear una tabla temporal con los
4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de
t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal
resultante.

 

Lo que quiero saber es si hay una forma más directa, sin crear una tabla
temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino
que esto tenga una solución (tal vez con UNION o JOIN), pero no la he
encontrado y agradecería me ayudaran en lo posible.

 

Un fraternal saludo,

 

Tomás Corrales Lemoine

 


-- 
Aeropuerto Internacional Frank País García de Holguín. 
-- 
Aeropuerto Internacional Frank País García de Holguín. 


 
Aeropuerto Internacional Frank País García de Holguín.





[GUFA] Consulta con dos tablas

2010-05-17 Por tema daniel . calvin
Select * from t1
Union all
Select * from t2

Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) 

-Original Message-
From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu
Date: Mon, 17 May 2010 15:35:44 
To: GUFA List MemberGUFA@mug.org.ar
Subject: [GUFA] Consulta con dos tablas

Gracias por responder, Pablo y Daniel. El problema es que la condición
t1.f1=t2.f1 and t1.f2=t2.f2… no me sirve porque necesito incluir todos los
t1.f1 y todos los t2.f1 aunque no sean iguales en ambas tablas. Lo mismo
para los demás campos.

Saludos,

Tomás

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de
daniel.cal...@gmail.com
Enviado el: Lunes, 17 de Mayo de 2010 01:34 p.m.
Para: GUFA List Member
Asunto: [GUFA] Consulta con dos tablas

 

Escribo de memoria

Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2

En condicion del ON fijate de establecer la igualdad de los campos que te
relacionan una y otra tabla.

El inner join te va a retornar solo aquellos registros cuyos campos
vinculados existan en ambas tablas.
Outer los registros de ambas existan o no los valores vinculados.
Luego tambien lee Left y Right JOIN

Espero se entienda

Daniel Calvin

Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) 

_  

From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu 

Date: Mon, 17 May 2010 14:17:40 -0500

To: GUFA List MemberGUFA@mug.org.ar

Subject: [GUFA] Consulta con dos tablas

 

Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita,
ya que no he sabido encontrar la solución correcta:

 

Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos
similares entre sí, es decir:

 

t1.dbf   t2.dbf

f1- f1

f2- f2

f3- f3

f21 - f13

 

Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los
registros de ambas tablas. Una forma sería crear una tabla temporal con los
4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de
t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal
resultante.

 

Lo que quiero saber es si hay una forma más directa, sin crear una tabla
temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino
que esto tenga una solución (tal vez con UNION o JOIN), pero no la he
encontrado y agradecería me ayudaran en lo posible.

 

Un fraternal saludo,

 

Tomás Corrales Lemoine

 


-- 
Aeropuerto Internacional Frank País García de Holguín. 
-- 
Aeropuerto Internacional Frank País García de Holguín. 


 
Aeropuerto Internacional Frank País García de Holguín.






[GUFA] Consulta con dos tablas

2010-05-17 Por tema Pablo Dana
Tomás, chequeá el FULL OUTER JOIN.

Abrazo.



From: Tomás Corrales Lemoine 
Sent: Monday, May 17, 2010 5:35 PM
To: GUFA List Member 
Subject: [GUFA] Consulta con dos tablas


Gracias por responder, Pablo y Daniel. El problema es que la condición 
t1.f1=t2.f1 and t1.f2=t2.f2. no me sirve porque necesito incluir todos los 
t1.f1 y todos los t2.f1 aunque no sean iguales en ambas tablas. Lo mismo para 
los demás campos.

Saludos,

Tomás

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de 
daniel.cal...@gmail.com
Enviado el: Lunes, 17 de Mayo de 2010 01:34 p.m.
Para: GUFA List Member
Asunto: [GUFA] Consulta con dos tablas

 

Escribo de memoria

Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2

En condicion del ON fijate de establecer la igualdad de los campos que te 
relacionan una y otra tabla.

El inner join te va a retornar solo aquellos registros cuyos campos vinculados 
existan en ambas tablas.
Outer los registros de ambas existan o no los valores vinculados.
Luego tambien lee Left y Right JOIN

Espero se entienda

Daniel Calvin

Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) 




From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu 

Date: Mon, 17 May 2010 14:17:40 -0500

To: GUFA List MemberGUFA@mug.org.ar

Subject: [GUFA] Consulta con dos tablas

 

Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya 
que no he sabido encontrar la solución correcta:

 

Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares 
entre sí, es decir:

 

t1.dbf   t2.dbf

f1- f1

f2- f2

f3- f3

f21 - f13

 

Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los 
registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 
campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de 
t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal 
resultante.

 

Lo que quiero saber es si hay una forma más directa, sin crear una tabla 
temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que 
esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y 
agradecería me ayudaran en lo posible.

 

Un fraternal saludo,

 

Tomás Corrales Lemoine

 


-- 
Aeropuerto Internacional Frank País García de Holguín. 
-- 
Aeropuerto Internacional Frank País García de Holguín. 


-- 
Aeropuerto Internacional Frank País García de Holguín. 

[GUFA] Consultas en VFP8 lentas en VFP9

2010-05-17 Por tema Santos Victor
Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero 
apenas arranco me encuentro con la primer traba, tengo una consulta, 
relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca 
pude ver el resultado, no me da error pero aparece la barrita de status y 
comienza a correr el porcentaje a una velocidad no apta para cardiacos, en 
definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el 
SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé 
también pero nada. Si alguno puede orientarme un poco, les agradeceré, 
realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas 
gracias y les paso un ej de la consulta q quiero tirar:

SELECT _Art.Codigo,_Art.Identif,   _Eq.Equivalente AS Equiv,_Art.DadodeBaja ;
   FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON 
LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) 
;
   INTO CURSOR Varios_Art

este comando en el 8 anda bien en el 9 es eterno



 Victor Santos


[GUFA] Consultas en VFP8 lentas en VFP9

2010-05-17 Por tema Pablo Dana
Victor, no sabría decirte por qué en VFP8 anda bien y en VFP9 no, pero es muy 
poco performante tener TRIMs adentro de tus consultas, o mismo tener índices en 
los que trimees strings...

Es preferible tener el string entero por más que sea largo... talvez esto ayuda.

Saludos.




From: Santos Victor 
Sent: Monday, May 17, 2010 5:40 PM
To: GUFA List Member 
Subject: [GUFA] Consultas en VFP8 lentas en VFP9


Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero 
apenas arranco me encuentro con la primer traba, tengo una consulta, 
relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca 
pude ver el resultado, no me da error pero aparece la barrita de status y 
comienza a correr el porcentaje a una velocidad no apta para cardiacos, en 
definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el 
SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé 
también pero nada. Si alguno puede orientarme un poco, les agradeceré, 
realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas 
gracias y les paso un ej de la consulta q quiero tirar:

SELECT _Art.Codigo,_Art.Identif,   _Eq.Equivalente AS Equiv,_Art.DadodeBaja ;
   FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON 
LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) 
;
   INTO CURSOR Varios_Art

este comando en el 8 anda bien en el 9 es eterno



 Victor Santos


[GUFA] Consultas en VFP8 lentas en VFP9

2010-05-17 Por tema Sergio Lescano
Fijate de poner ==

 

 

Sergio

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Santos Victor
Enviado el: Lunes, 17 de Mayo de 2010 05:40 p.m.
Para: GUFA List Member
Asunto: [GUFA] Consultas en VFP8 lentas en VFP9

 

Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9,
pero apenas arranco me encuentro con la primer traba, tengo una consulta,
relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9
nunca pude ver el resultado, no me da error pero aparece la barrita de
status y comienza a correr el porcentaje a una velocidad no apta para
cardiacos, en definitiva termino cortándola. Recuerdo cuando migré al 8 tuve
q utilizar el SET ENGINEBEHAVIOR 70 para resolver el tema de
compatibilidad, acá lo probé también pero nada. Si alguno puede orientarme
un poco, les agradeceré, realmente quisiera utilizar algunas de las
herramientas del 9, desde ya muchas gracias y les paso un ej de la consulta
q quiero tirar:

 

SELECT _Art.Codigo,_Art.Identif,   _Eq.Equivalente AS Equiv,_Art.DadodeBaja
;
   FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON
LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Ident
if) ;
   INTO CURSOR Varios_Art

este comando en el 8 anda bien en el 9 es eterno

 



 Victor Santos



[GUFA] Consultas en VFP8 lentas en VFP9

2010-05-17 Por tema Santos Victor
Terrible pero efectiva tu repuesta Pablo, es eso no+, me diste una puñalada 
certera, ja. Voy a tener q reformar grande che, pero t agradezco mucho el dato, 
no pensé q eso podía traerme probl de performance, pero es lógico che. Lo q si 
t comento q si funciona en el 8 hace varios años q lo estoy usando, pero voy a 
tener q solucionarlo y por lo q me decís no me queda otra q reformar, muy 
agradecido por tu información che, saludos



From: Pablo Dana 
Sent: Monday, May 17, 2010 5:49 PM
To: GUFA List Member 
Subject: [GUFA] Consultas en VFP8 lentas en VFP9


Victor, no sabría decirte por qué en VFP8 anda bien y en VFP9 no, pero es muy 
poco performante tener TRIMs adentro de tus consultas, o mismo tener índices en 
los que trimees strings...

Es preferible tener el string entero por más que sea largo... talvez esto ayuda.

Saludos.




From: Santos Victor 
Sent: Monday, May 17, 2010 5:40 PM
To: GUFA List Member 
Subject: [GUFA] Consultas en VFP8 lentas en VFP9


Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero 
apenas arranco me encuentro con la primer traba, tengo una consulta, 
relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca 
pude ver el resultado, no me da error pero aparece la barrita de status y 
comienza a correr el porcentaje a una velocidad no apta para cardiacos, en 
definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el 
SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé 
también pero nada. Si alguno puede orientarme un poco, les agradeceré, 
realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas 
gracias y les paso un ej de la consulta q quiero tirar:

SELECT _Art.Codigo,_Art.Identif,   _Eq.Equivalente AS Equiv,_Art.DadodeBaja ;
   FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON 
LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) 
;
   INTO CURSOR Varios_Art

este comando en el 8 anda bien en el 9 es eterno



 Victor Santos



__ Información de NOD32, revisión 5122 (20100517) __

Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com


[GUFA] 3 Capas

2010-05-17 Por tema Alejandro Paciotti Iacchelli
Estimados colisteros: 

Tengo una duda en cuanto a la implementación de clases en 3
capas y es la siguiente:

 

Una capa de datos se encarga de comunicarse con la base de datos y subir las
consultas y respuestas a la clase de negocios, por ende, si yo cambiase la
capa de datos, la clase de negocios tendría que salir funcionando
perfectamente. Con lo cual la aplicación  lograría escalabilidad.

 

Ahora bien, suponiendo que yo desarrollo una capa de datos llamada
CapaDeAccesoaDatos,  con la funcionalidad de conectarse a un SQLSERVER, pero
también tengo otra clase, CapaDeAccesoaDatos con la funcionalidad de
conectarse a un FIREBIRD o un Access o base nativa de FOX.

 

Las clases de negocio implementarían objetos basados en esa clase, pero, que
pasa si yo tengo que hacer que convivan entre ellas estas clases ?

 

A ver si con código me explico mejor:

 

 Esta es la clase de Acceso a Sql Server (Es solo un ejemplo breve)

 

 

DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM

cStringDeConexion = “”

nConexion = 0

PROCEDURE INIT (cArchivoDeConfiguracion)

   THIS.cStringDeConexion =
FILETOSTR(cArchivoDeConfiguracion)

ENDPROC

 

PROCEDURE Conectar

THIS.nConexion=SQLSTRINGCONNECT(cStringDeConexion)

ENDPROC

 

PROCEDURE Ejecutar(cInstruccion)

=SQLEXEC(THIS.nConexion, cInstruccion)

ENDPROC

ENDDEFINE

 

 Y esta es la clase de Acceso a una base de FOX

 

DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM

cNombreDeBaseDeDatos= “”

PROCEDURE INIT(cArchivoDeConfiguracion)

   THIS. cNombreDeBaseDeDatos =
FILETOSTR(cArchivoDeConfiguracion)

ENDPROC

 

PROCEDURE Conectar()

OPEN DATABASE (THIS.cNombreDeBaseDeDatos)

ENDPROC

 

PROCEDURE Ejecutar(cInstruccion)

cInstruccion

ENDPROC

ENDDEFINE

 

 

 

Si pongo estas 2 clases en un solo PRG, cuando creo un objeto:

 

oBase = CREATEOBJECT(“CapaDeAccesoaDatos”, “ArchivoConfiguracion.txt”)

 

crea el objeto de acuerdo al último DEFINE CLASS.

 

Si los pongo en distintos PRG tengo que especificar en el FRONT que clase de
acceso a datos usar, ya que en los DEFINE de la clase de negocios no puedo
usar el SET PROCEDURE TO.

 

No se si los marié con la pregunta, es muy probable, pero sería una
consecuencia del propio mareo que tengo.

 

De antemano, gracias.

 

 

 



[GUFA] Consultas en VFP8 lentas en VFP9

2010-05-17 Por tema Santos Victor
Buenísimo lo tuyo Sergio, anduvo joya, me resuelve el problema mientras hago la 
gran reforma, MUCHAS GRACIAS


From: Sergio Lescano 
Sent: Monday, May 17, 2010 6:03 PM
To: GUFA List Member 
Subject: [GUFA] Consultas en VFP8 lentas en VFP9


Fijate de poner ==

 

 

Sergio

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Santos Victor
Enviado el: Lunes, 17 de Mayo de 2010 05:40 p.m.
Para: GUFA List Member
Asunto: [GUFA] Consultas en VFP8 lentas en VFP9

 

Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero 
apenas arranco me encuentro con la primer traba, tengo una consulta, 
relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca 
pude ver el resultado, no me da error pero aparece la barrita de status y 
comienza a correr el porcentaje a una velocidad no apta para cardiacos, en 
definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el 
SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé 
también pero nada. Si alguno puede orientarme un poco, les agradeceré, 
realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas 
gracias y les paso un ej de la consulta q quiero tirar:

 

SELECT _Art.Codigo,_Art.Identif,   _Eq.Equivalente AS Equiv,_Art.DadodeBaja ;
   FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON 
LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) 
;
   INTO CURSOR Varios_Art

este comando en el 8 anda bien en el 9 es eterno

 



 Victor Santos



__ Información de NOD32, revisión 5122 (20100517) __

Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com


[GUFA] 3 Capas

2010-05-17 Por tema Pablo Pioli
Veo que tenes un archivo de configuracion. Ponele nombres distintos a cada capa 
y levantas de ahi el nombre de la que queres usar.

* Saco esto del archivo de configuracion
obj = Label 

* Creo el objeto que me hace falta
x = CreateObject(obj)

Pablo Pioli

- Original Message - 
From: Alejandro Paciotti Iacchelli 
To: GUFA List Member 
Sent: Monday, May 17, 2010 6:03 PM
Subject: [GUFA] 3 Capas


Estimados colisteros: 

Tengo una duda en cuanto a la implementación de clases en 3 
capas y es la siguiente:

 

Una capa de datos se encarga de comunicarse con la base de datos y subir las 
consultas y respuestas a la clase de negocios, por ende, si yo cambiase la capa 
de datos, la clase de negocios tendría que salir funcionando perfectamente. Con 
lo cual la aplicación  lograría escalabilidad.

 

Ahora bien, suponiendo que yo desarrollo una capa de datos llamada 
CapaDeAccesoaDatos,  con la funcionalidad de conectarse a un SQLSERVER, pero 
también tengo otra clase, CapaDeAccesoaDatos con la funcionalidad de conectarse 
a un FIREBIRD o un Access o base nativa de FOX.

 

Las clases de negocio implementarían objetos basados en esa clase, pero, que 
pasa si yo tengo que hacer que convivan entre ellas estas clases ?

 

A ver si con código me explico mejor:

 

 Esta es la clase de Acceso a Sql Server (Es solo un ejemplo breve)

 

 

DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM

cStringDeConexion = 

nConexion = 0

PROCEDURE INIT (cArchivoDeConfiguracion)

   THIS.cStringDeConexion = 
FILETOSTR(cArchivoDeConfiguracion)

ENDPROC

 

PROCEDURE Conectar

THIS.nConexion=SQLSTRINGCONNECT(cStringDeConexion)

ENDPROC

 

PROCEDURE Ejecutar(cInstruccion)

=SQLEXEC(THIS.nConexion, cInstruccion)

ENDPROC

ENDDEFINE

 

 Y esta es la clase de Acceso a una base de FOX

 

DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM

cNombreDeBaseDeDatos= 

PROCEDURE INIT(cArchivoDeConfiguracion)

   THIS. cNombreDeBaseDeDatos = 
FILETOSTR(cArchivoDeConfiguracion)

ENDPROC

 

PROCEDURE Conectar()

OPEN DATABASE (THIS.cNombreDeBaseDeDatos)

ENDPROC

 

PROCEDURE Ejecutar(cInstruccion)

cInstruccion

ENDPROC

ENDDEFINE

 

 

 

Si pongo estas 2 clases en un solo PRG, cuando creo un objeto:

 

oBase = CREATEOBJECT(CapaDeAccesoaDatos, ArchivoConfiguracion.txt)

 

crea el objeto de acuerdo al último DEFINE CLASS.

 

Si los pongo en distintos PRG tengo que especificar en el FRONT que clase de 
acceso a datos usar, ya que en los DEFINE de la clase de negocios no puedo usar 
el SET PROCEDURE TO.

 

No se si los marié con la pregunta, es muy probable, pero sería una 
consecuencia del propio mareo que tengo.

 

De antemano, gracias.

 

 

 


[GUFA] 3 Capas

2010-05-17 Por tema Alejandro Paciotti Iacchelli
Con la simpleza de las genialidades, GRACIAS !

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Pablo Pioli
Enviado el: Lunes, 17 de Mayo de 2010 06:16 p.m.
Para: GUFA List Member
Asunto: [GUFA] 3 Capas

 

Veo que tenes un archivo de configuracion. Ponele nombres distintos a cada
capa y levantas de ahi el nombre de la que queres usar.

 

* Saco esto del archivo de configuracion

obj = Label 

 

* Creo el objeto que me hace falta

x = CreateObject(obj)

Pablo Pioli

 

- Original Message - 

From: Alejandro Paciotti Iacchelli mailto:a...@memory-argentina.com  

To: GUFA List Member mailto:GUFA@mug.org.ar  

Sent: Monday, May 17, 2010 6:03 PM

Subject: [GUFA] 3 Capas

 

Estimados colisteros: 

Tengo una duda en cuanto a la implementación de clases en 3
capas y es la siguiente:

 

Una capa de datos se encarga de comunicarse con la base de datos y subir las
consultas y respuestas a la clase de negocios, por ende, si yo cambiase la
capa de datos, la clase de negocios tendría que salir funcionando
perfectamente. Con lo cual la aplicación  lograría escalabilidad.

 

Ahora bien, suponiendo que yo desarrollo una capa de datos llamada
CapaDeAccesoaDatos,  con la funcionalidad de conectarse a un SQLSERVER, pero
también tengo otra clase, CapaDeAccesoaDatos con la funcionalidad de
conectarse a un FIREBIRD o un Access o base nativa de FOX.

 

Las clases de negocio implementarían objetos basados en esa clase, pero, que
pasa si yo tengo que hacer que convivan entre ellas estas clases ?

 

A ver si con código me explico mejor:

 

 Esta es la clase de Acceso a Sql Server (Es solo un ejemplo breve)

 

 

DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM

cStringDeConexion = “”

nConexion = 0

PROCEDURE INIT (cArchivoDeConfiguracion)

   THIS.cStringDeConexion =
FILETOSTR(cArchivoDeConfiguracion)

ENDPROC

 

PROCEDURE Conectar

THIS.nConexion=SQLSTRINGCONNECT(cStringDeConexion)

ENDPROC

 

PROCEDURE Ejecutar(cInstruccion)

=SQLEXEC(THIS.nConexion, cInstruccion)

ENDPROC

ENDDEFINE

 

 Y esta es la clase de Acceso a una base de FOX

 

DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM

cNombreDeBaseDeDatos= “”

PROCEDURE INIT(cArchivoDeConfiguracion)

   THIS. cNombreDeBaseDeDatos =
FILETOSTR(cArchivoDeConfiguracion)

ENDPROC

 

PROCEDURE Conectar()

OPEN DATABASE (THIS.cNombreDeBaseDeDatos)

ENDPROC

 

PROCEDURE Ejecutar(cInstruccion)

cInstruccion

ENDPROC

ENDDEFINE

 

 

 

Si pongo estas 2 clases en un solo PRG, cuando creo un objeto:

 

oBase = CREATEOBJECT(“CapaDeAccesoaDatos”, “ArchivoConfiguracion.txt”)

 

crea el objeto de acuerdo al último DEFINE CLASS.

 

Si los pongo en distintos PRG tengo que especificar en el FRONT que clase de
acceso a datos usar, ya que en los DEFINE de la clase de negocios no puedo
usar el SET PROCEDURE TO.

 

No se si los marié con la pregunta, es muy probable, pero sería una
consecuencia del propio mareo que tengo.

 

De antemano, gracias.