error en vfp9: El comando tiene una frase o palabra clave no reconocida

1,297 views
Skip to first unread message

leonardo trujillo

unread,
Jul 31, 2012, 10:17:22 AM7/31/12
to publice...@googlegroups.com
gente, espero se encuentren bien
tengo un problema con una clase que usaba y andaba sin inconvenientes en vfp6.
Ahora, esta condenada no me funciona en vfp9 el error me lo da en: &lcSelecEjec y les muestro cómo es que viene el código y se las adjunto, me gusta y tal vez les sirva si es que no la conocen

lcSelecEjec = [ SELECT recno() ;
FROM ] + lcDbf + ;
      [ WHERE ] + ;
      lcCampoSelec + [ lcExpBusq ] + ;
      THISFORM.cOldFilter + ;
      IIF(THISFORM.lActivoIndex,' ORDER BY ' + lcCampo + ;
      IIF( DESCENDING(TAGNO(lcCampo)), ' DESC ', ''), '' ) + ;
      [ INTO ARRAY THISFORM.ga___Busca ]

    &lcSelecEjec   *************AQUÍ ES DONDE SE PRODUCE EL ERROR: "El comando tiene una frase o palabra clave no reconocida"

gracias
leonardo
selectora.VCT
selectora.vcx

Pablo Daniel Lissa

unread,
Jul 31, 2012, 10:49:22 AM7/31/12
to publice...@googlegroups.com
Leonardo:

Hola. Te recomiendo que muestres el valor de lcSelecEjec antes de ejecutarlo con la macro sustitución. El error que te muestra es típico de sintaxis, así que la consulta debe quedar mal formada (y eso depende de los valores de las variables que usás).

Otra cosa, la variable lcExpBusq está entre corchetes [ ]. Supongo que no es esa la intención, porque de esa forma estás concatenando la cadena "lcExpBusq" en vez de obtener el valor.

Saludos.
---------------------------------------------------------------------------------------------------------------

Fox Learner

unread,
Jul 31, 2012, 10:50:39 AM7/31/12
to publice...@googlegroups.com
No sé acerca de objetos y eso, pero revisa este enlace sobre la funcion EVALUATE:


Saludos!

Fox Learner

unread,
Jul 31, 2012, 10:53:13 AM7/31/12
to publice...@googlegroups.com
Acerca de los corchetes, las comillas simples y dobles y la &, revisa este enlace:


Saludos!

leonardo trujillo

unread,
Jul 31, 2012, 11:29:45 AM7/31/12
to publice...@googlegroups.com
luego de sacar los corchetes (Daniel, es verdad que me pasaba el nombre de la variable y no el valor) obtuve esta consulta, que supongo deba estar mal formada para vfp9 (ya que con vfp6 funcionaba, estoy con vfp9)

 "SELECT recno()  FROM D:\USUARIOS\DOCUMENTS\PROYECTOS DE VISUAL FOXPRO\NUCLEOS.DBF WHERE  UPPER( NOMBRE) LIKE 'CEN%' ORDER BY NOMBRE INTO ARRAY THISFORM.ga___Busca "

supongo que acá debo obtener el registro y no la consulta pero.... aclaro que no tengo "control" del código, ya que es una clase que cargaba al proyecto y usaba (cambiando la tabla sobre la que se hacía la consulta)

en fin, si la prueban y les anda me avisan cómo lo arreglaron.

les comento que el efecto está bueno, carga en un grid registros de una tabla y uno comienza a digitar y automáticamente emerge un pequeño form con un text con la búsqueda, al dar aceptar devuelve el resultado de la búsqueda que se hizo en el grid que mostraba los datos.

2012/7/31 Fox Learner <thenewin...@gmail.com>
Acerca de los corchetes, las comillas simples y dobles y la &, revisa este enlace:


Saludos!

--
 
 
 

Luis Maria Guayan

unread,
Jul 31, 2012, 11:39:33 AM7/31/12
to publice...@googlegroups.com
Busca que la consulta te quede así:

 "SELECT recno()  FROM ('D:\USUARIOS\DOCUMENTS\PROYECTOS DE VISUAL FOXPRO\NUCLEOS.DBF') WHERE  UPPER( NOMBRE) LIKE 'CEN%' ORDER BY NOMBRE INTO ARRAY THISFORM.ga___Busca "

Seguramente el problema es la ruta y nombre de la tabla con espacios " "

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

El 31/07/2012 12:29, leonardo trujillo escribió:

Walter R. Ojeda Valiente

unread,
Jul 31, 2012, 3:42:48 PM7/31/12
to publice...@googlegroups.com
Tu problema es que en la ruta del archivo hay espacios en blanco. Eso no es admisible.

Saludos.

Walter.





Date: Tue, 31 Jul 2012 12:29:45 -0300
Subject: Re: [vfp] Re: error en vfp9: El comando tiene una frase o palabra clave no reconocida
From: leot...@gmail.com
To: publice...@googlegroups.com
--
 
 
 
Reply all
Reply to author
Forward
0 new messages