Solucion a SPT con cadena de mas de 255 Caracteres.

05/07/2004 - 09:39 por Antonio Montagut | Informe spam
Esta es la solución que yo utilizo prescindiendo de TEXT...ENDTEXT.

Ejemplo:

PUBLIC XSQL AS MEMO
XSQL=''

FOPENBD()

XSQL='SELECT DCLIE.CODIGO ,DCLIE.NOMBRE , DCLIE.DOMICILIO,
DCLIE.POBLACION, DCLIE.CP, DCLIE.PROVINCIA, '+ ;
'DCLIE.PNIF, DCLIE.NIF, DCLIE.TELEFONO, DCLIE.TELEFONO2, DCLIE.FAX,
DCLIE.WEB, DCLIE.EMAIL, DCLIE.CCLAVE, '+ ;
'DCLAV.NOMBRE AS CNOMBRE, DCLIE.CVENDEDOR ,DVEND.NOMBRE AS VNOMBRE,
DCLIE.BANCO, DCLIE.AGENCIA, '+ ;
'DCLIE.CCC1, DCLIE.CCC2, DCLIE.CCC3, DCLIE.CCC4, DCLIE.IBAN1, DCLIE.IBAN2,
DCLIE.IBAN3, DCLIE.IBAN4, '+;
'DCLIE.IBAN5, DCLIE.IBAN6, DCLIE.TIPOIVA, DCLIE.TIPORE, DCLIE.TIPORET '+;
'FROM DCLIE, DCLAV, DVEND '+;
'WHERE DCLIE.CODIGO>=?TVCOD1 AND DCLIE.CODIGO<=?TVCOD2 AND '+;
'DCLIE.CP>=?TVPOS1 AND DCLIE.CP<=?TVPOS2 AND '+;
'DCLIE.CCLAVE>=?TVCLA1 AND DCLIE.CCLAVE<=?TVCLA2 AND '+;
'DCLIE.CVENDEDOR>=?TVVEN1 AND DCLIE.CVENDEDOR<=?TVVEN2 AND '+;
'DCLIE.CCLAVEÜLAV.CODIGO AND DCLIE.CVENDEDOR=DVEND.CODIGO AND '+;
'DCLIE.KE=?BEMPR AND DCLAV.KE=?BEMPR AND DVEND.KE=?BEMPR ORDER BY
DCLIE.CODIGO '

SQLPREPARE(NH, ""+XSQL, "TCUR")
IF SQLEXEC(NH)>0
SWTALLY=RECCOUNT()
COPY TO ""+VTEMP+"\XTL"
ENDIF

IF SWTALLY<1
MESSAGEBOX("No se han Localizado DATOS",48,"Atencion")
ENDIF

FCLOSEBD()

El truco consiste en declarar la variable XSQL como publica y de tipo MEMO.
Espero les sirva. Un saludo.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Esparta Palma
05/07/2004 - 17:51 | Informe spam
Vaya, muy buen tip, pero ante esto, me surgen varias dudas.

1.- Que pasará con versiones anteriores a VFP7 donde no puedes declarar
una variable como pública?
2.- Que ventana establece el dejarlo así ante un bloque TEXT .. ENDTEXT,
en lo personal no cambio
por nada del mundo la legibilidad.

Bueno, creo que es todo, aparentemente tenía otras dudas, pero ... se me
murió la neurona :-)

Mostrar la cita
ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox.com
email:mexicoSINSPAM[Arroba]portalfox.com

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
#2 Carlos Yohn Zubiria
05/07/2004 - 18:20 | Informe spam
Mostrar la cita
¿Y que problema hay en que la variable sea local o privada. El alcance solo
necesita local?
Local m.cXSQL AS memo


Mostrar la cita
por nada del mundo la legibilidad.
De acuerdo Esparta, pero me parece mas 'legible' esta opción. Si la cadena
fuera menor de 256 posiciones, nunca habríamos utilizado TEXT/ENDTEXT...
luego con esta opción podemos seguir sin utilizarla.





Saludos,
A.G.P. (Aplicaciones de Gestión y Productividad)
Las Arenas - Vizcaya - España

"Esparta Palma" escribió en el
mensaje news:%
Mostrar la cita
DCLIE.IBAN2,
Mostrar la cita
MEMO.
Mostrar la cita
#3 Victor B.
06/07/2004 - 17:07 | Informe spam
Por cierto, FOPENDB() es una función de VFP7 o de la versión 8?
#4 Esparta Palma
06/07/2004 - 19:16 | Informe spam
De ninguna de las dos versiones, seguramente es una función de él.

Mostrar la cita
ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox.com
email:mexicoSINSPAM[Arroba]portalfox.com

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
#5 Antonio Montagut
07/07/2004 - 10:08 | Informe spam
Disculpad, quizá el código no esté muy claro.
FOPENBD() Es una función de la palicación que habre la base de datos
local (vistas remotas). y establece una conexión con la base de datos C/S.
FCLOSEBD() Cierra la base de datos.


-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Ads by Google
Search Busqueda sugerida