El problema es SELECT o PUTFILE ?

21/07/2003 - 19:19 por Danilo | Informe spam
Saludos a todos amigos.

Tengo un problema al tratar de guardar en disco un archivo con extension
TXT mediante un comando select.

Al ejecutar las 2 lineas de programa descritas abajo, no hay ningun
problema si el nombre del archivo y el directorio no tienen ningun espacio
en blanco intermedio; pero si algun nombre o una carpeta tiene un espacio
intermedio, como por ejemplo: "Mis documentos", el programa emite el
siguiente mensaje de error... "El comando contiene una frase o palabra
clave no reconocida"

Por favor como puedo solucionar esto ?

Mil gracias


vl_archivo = putfile(" Guardar reporte como","","txt")
select * from usuario to file &vl_archivo noconsole




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#1 Jorge Mota
21/07/2003 - 19:32 | Informe spam
encierra entre "" el &vl_archivo

o bien colocalo asi

select * from usuario to file (vl_archivo) noconsole


Saludos

On Mon, 21 Jul 2003 10:19:49 -0700, Danilo
wrote:

Saludos a todos amigos.

Tengo un problema al tratar de guardar en disco un archivo con extension
TXT mediante un comando select.

Al ejecutar las 2 lineas de programa descritas abajo, no hay ningun
problema si el nombre del archivo y el directorio no tienen ningun
espacio
en blanco intermedio; pero si algun nombre o una carpeta tiene un espacio
intermedio, como por ejemplo: "Mis documentos", el programa emite el
siguiente mensaje de error... "El comando contiene una frase o palabra
clave no reconocida"

Por favor como puedo solucionar esto ?

Mil gracias


vl_archivo = putfile(" Guardar reporte como","","txt")
select * from usuario to file &vl_archivo noconsole




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway






Jorge Mota

Do It Best, Do it With VFP.
Respuesta Responder a este mensaje
#2 Esparta Palma
21/07/2003 - 19:33 | Informe spam
Utiliza expansion de nombres en vez de macro-sustitución.

<PRE>


IF !EMPTY(lcArchivo)
SELECT * FROM usuario ;
TO FILE (lcArchivo)
ENDIF

</PRE>

Esto fué documentado en PortalFox hace mas de un año.

Trabajar con archivos con espacios
http://www.portalfox.com/article.php?sid91

Espero te sirva.

Apoya a Visual FoxPro usándolo legalmente
ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox ( http://www.PortalFox.com )
email:
Acapulco, Guerrero. México


Danilo wrote:

Saludos a todos amigos.

Tengo un problema al tratar de guardar en disco un archivo con extension
TXT mediante un comando select.

Al ejecutar las 2 lineas de programa descritas abajo, no hay ningun
problema si el nombre del archivo y el directorio no tienen ningun espacio
en blanco intermedio; pero si algun nombre o una carpeta tiene un espacio
intermedio, como por ejemplo: "Mis documentos", el programa emite el
siguiente mensaje de error... "El comando contiene una frase o palabra
clave no reconocida"

Por favor como puedo solucionar esto ?

Mil gracias


vl_archivo = putfile(" Guardar reporte como","","txt")
select * from usuario to file &vl_archivo noconsole

Respuesta Responder a este mensaje
#3 Alberto Fuentes L.
21/07/2003 - 22:38 | Informe spam
Danilo yo he tenido ese problema al querer grabar un archivo ya sea
extencion .TXT, .XLS, etc. el problema que he encontrado sobre todo en la
Version 5 (no se sí en las demas) es que no ACEPTA espacios en blanco en el
nombre de la carpeta o archivo.

Prueba tu rutina de nuevo y trata que no exista ningun ESPACIO EN BLANCO.

Yo en ese caso valido primero la variable donde grabo el archivo que no
contenga espacios blancos, algo asi como:

DO WHILE .T
vl_archivo = putfile(" Guardar reporte como","","txt")
IF AT(vl_archivo,CHR(32))<>0
=MESSAGEBOX('El archivo '+vl_archivo+CHR(13)+;'NO DEBE contener
espacios en blancos'+;
'¿Desea renombar el
Archvio?,4+64+0,'Error de Nombre archivo')
DO CASE
CASE nAnswer = 6 && Escogio renombrar
LOOP
CASE nAnswer = 7 && Regresar al proceso anterior
EXIT
ENDCASE
ELSE
EXIT
ENDIF
ENDDO
***sigues aqui con tu query
select * from usuario to file &vl_archivo noconsole

Esperando que te sirva este ejemplo y puedas seguir adelante.

Saludos

Alberto Fuentes L.

"Danilo" wrote in message
news:
Saludos a todos amigos.

Tengo un problema al tratar de guardar en disco un archivo con extension
TXT mediante un comando select.

Al ejecutar las 2 lineas de programa descritas abajo, no hay ningun
problema si el nombre del archivo y el directorio no tienen ningun espacio
en blanco intermedio; pero si algun nombre o una carpeta tiene un espacio
intermedio, como por ejemplo: "Mis documentos", el programa emite el
siguiente mensaje de error... "El comando contiene una frase o palabra
clave no reconocida"

Por favor como puedo solucionar esto ?

Mil gracias


vl_archivo = putfile(" Guardar reporte como","","txt")
select * from usuario to file &vl_archivo noconsole




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#4 Esparta Palma
22/07/2003 - 10:24 | Informe spam
Alberto, probaste con la solución que le propongo? no creo que pueda ser
buena idea el limitar a tu usuario en que la ruta no tenga espacios, por
lo que te recomiendo a tí tambien que uses las expresiones de nombres en
vez de macrosustitución (tambien aplica desde VFP3).

Apoya a Visual FoxPro usándolo legalmente
ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox ( http://www.PortalFox.com )
email:
Acapulco, Guerrero. México



Alberto Fuentes L. wrote:
Danilo yo he tenido ese problema al querer grabar un archivo ya sea
extencion .TXT, .XLS, etc. el problema que he encontrado sobre todo en la
Version 5 (no se sí en las demas) es que no ACEPTA espacios en blanco en el
nombre de la carpeta o archivo.

Prueba tu rutina de nuevo y trata que no exista ningun ESPACIO EN BLANCO.

Yo en ese caso valido primero la variable donde grabo el archivo que no
contenga espacios blancos, algo asi como:

DO WHILE .T
vl_archivo = putfile(" Guardar reporte como","","txt")
IF AT(vl_archivo,CHR(32))<>0
=MESSAGEBOX('El archivo '+vl_archivo+CHR(13)+;'NO DEBE contener
espacios en blancos'+;
'¿Desea renombar el
Archvio?,4+64+0,'Error de Nombre archivo')
DO CASE
CASE nAnswer = 6 && Escogio renombrar
LOOP
CASE nAnswer = 7 && Regresar al proceso anterior
EXIT
ENDCASE
ELSE
EXIT
ENDIF
ENDDO
***sigues aqui con tu query
select * from usuario to file &vl_archivo noconsole

Esperando que te sirva este ejemplo y puedas seguir adelante.

Saludos

Alberto Fuentes L.

"Danilo" wrote in message
news:

Saludos a todos amigos.

Tengo un problema al tratar de guardar en disco un archivo con extension
TXT mediante un comando select.

Al ejecutar las 2 lineas de programa descritas abajo, no hay ningun
problema si el nombre del archivo y el directorio no tienen ningun espacio
en blanco intermedio; pero si algun nombre o una carpeta tiene un espacio
intermedio, como por ejemplo: "Mis documentos", el programa emite el
siguiente mensaje de error... "El comando contiene una frase o palabra
clave no reconocida"

Por favor como puedo solucionar esto ?

Mil gracias


vl_archivo = putfile(" Guardar reporte como","","txt")
select * from usuario to file &vl_archivo noconsole


Respuesta Responder a este mensaje
#5 Esparta Palma
22/07/2003 - 20:53 | Informe spam
El < PRE > y < /PRE> son un TAGs de HTML para que los que ven los
mensajes vía PortalFox Gateway puedan ver mi código con la respectiva
indentación, obviamente hay que quitarlos para que funcione con VFP.

Apoya a Visual FoxPro usándolo legalmente
ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox ( http://www.PortalFox.com )
email:
Acapulco, Guerrero. México


Alberto Fuentes L. wrote:

Si probe tu solucion que propones y esta en la siguiente direccion:
Trabajar con archivos con espacios
http://www.portalfox.com/article.php?sid91
LOCAL lcArchivoOrigen, lcArchivoDestino
lcArchivoOrigen = GETFILE() && Intenta escoger alguno con espacios para prueba
lcArchivoDestino = GEFILE() && Otro con espacios??, es posible!
COPY FILE (lcArchivoOrigen) TO (lcArchivoDestino)
funciona a la perfecion pero hay que ver que aqui se esta usando el command COPY FILE

vi tambien la solucion que pones respondiendole a DANIELO, el siguiente ejemplo:

<PRE>
IF !EMPTY(lcArchivo)
SELECT * FROM usuario ;
TO FILE (lcArchivo)
ENDIF
</PRE>
aqui se esta usando el command SELECT o el resultado de un Query grabarlo en un archivo escogido o seleccionado por el usuario.
mi pregunta es, el codigo que usas aqui <PRE> se usa para las paginas de HTM o tambien para el Visual y al poner dicho codigo no marcara el error.

De antemano por tus comentarios muchas gracias, se que lo estas haciendo en los mejores sentidos de ayudarnos.




"Esparta Palma" wrote in message news:#

Alberto, probaste con la solución que le propongo? no creo que pueda ser
buena idea el limitar a tu usuario en que la ruta no tenga espacios, por
lo que te recomiendo a tí tambien que uses las expresiones de nombres en
vez de macrosustitución (tambien aplica desde VFP3).

Alberto Fuentes L. wrote:

Danilo yo he tenido ese problema al querer grabar un archivo ya sea
extencion .TXT, .XLS, etc. el problema que he encontrado sobre todo en la
Version 5 (no se sí en las demas) es que no ACEPTA espacios en blanco en el
nombre de la carpeta o archivo.

Prueba tu rutina de nuevo y trata que no exista ningun ESPACIO EN BLANCO.

Yo en ese caso valido primero la variable donde grabo el archivo que no
contenga espacios blancos, algo asi como:

DO WHILE .T
vl_archivo = putfile(" Guardar reporte como","","txt")
IF AT(vl_archivo,CHR(32))<>0
=MESSAGEBOX('El archivo '+vl_archivo+CHR(13)+;'NO DEBE contener
espacios en blancos'+;
'¿Desea renombar el
Archvio?,4+64+0,'Error de Nombre archivo')
DO CASE
CASE nAnswer = 6 && Escogio renombrar
LOOP
CASE nAnswer = 7 && Regresar al proceso anterior
EXIT
ENDCASE
ELSE
EXIT
ENDIF
ENDDO
***sigues aqui con tu query
select * from usuario to file &vl_archivo noconsole

Esperando que te sirva este ejemplo y puedas seguir adelante.

Saludos

Alberto Fuentes L.

"Danilo" wrote in message
news:


Saludos a todos amigos.

Tengo un problema al tratar de guardar en disco un archivo con extension
TXT mediante un comando select.

Al ejecutar las 2 lineas de programa descritas abajo, no hay ningun
problema si el nombre del archivo y el directorio no tienen ningun espacio
en blanco intermedio; pero si algun nombre o una carpeta tiene un espacio
intermedio, como por ejemplo: "Mis documentos", el programa emite el
siguiente mensaje de error... "El comando contiene una frase o palabra
clave no reconocida"

Por favor como puedo solucionar esto ?

Mil gracias


vl_archivo = putfile(" Guardar reporte como","","txt")
select * from usuario to file &vl_archivo noconsole










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida