Respondiendo para VFP6 y FoxPro 2
Hola amigos. Espero poder responder a sus preguntas, en lo referente a VFP6 y FoxPro DOS. Sé que son versiones un tanto desfasadas. Sin embargo, continúan generando interrogantes, porque aún están en uso. Cuando hagan una pregunta, numérenla según la última para hacer la correcta referencia.
OJO: Si ven una pregunta que yo no he contestado y tienen la respuesta, no duden en hacer su aporte. Por otro lado, si no soy capaz de responder, pueden preguntar a alguien más.
NOTA: Si en algún momento mi tiempo se limita y ya no puedo responder, daré el aviso para que no se pierdan sus preguntas en un vacío sin respuestas.
Recuerden que estamos para ayudarnos, y yo no lo sé todo. Sólo trato de compartir lo poco que sé.
Saludos.
OJO: Si ven una pregunta que yo no he contestado y tienen la respuesta, no duden en hacer su aporte. Por otro lado, si no soy capaz de responder, pueden preguntar a alguien más.
NOTA: Si en algún momento mi tiempo se limita y ya no puedo responder, daré el aviso para que no se pierdan sus preguntas en un vacío sin respuestas.
Recuerden que estamos para ayudarnos, y yo no lo sé todo. Sólo trato de compartir lo poco que sé.
Saludos.
Gracias Manuel por el tiempo que te tomas para ayudarnos, por favor podrias ayudarme en loa siguiente, tengo un formulario de ingreso de facturas de compra, los datos de los productos los ingreso en un grid, como puedo ahcer para poder ingresar los numeros de serie de un determinado sku, por ejemplo 5 monitores lcd samsung de 17' cada uno tiene un numero de serie quisiera ingresarlo en otro grid enlazado al grid de ingreso y a la vez poder tener la posilidad de corregirlo si tengo un ingreso errado, estube probando pero solo me muestra el ultimo dato ingresado, el ingreso esta enlazado a 3 tablas una donde guardo el encabezado de la factura, otra donde guardo el detalle y la tercera donde guardo las series.
Gracias por tu ayuda
Gracias por tu ayuda
Hola Manuel: Desde ya muchas gracias. quisiera saber como puedo pasar una tabla dbf. de visual foxpro 6.0 a exel, ya que tiene un campo memo. me pasa todos los otros campos pero no el memo.
me podrias ayudar??
me podrias ayudar??
Ok.. tu caso es el mismo de ALBERTO, arriba en esta misma página. La respuesta está con fecha 4 de noviembre de 2005. Haz Ctrl+F en esta página y buscas "Excel.Application". Ahí está la respuesta.
Espero que eso te sea útil.
Espero que eso te sea útil.
Tengo un problema. Como no pude usar APPEND FROM con un cursor generado desde un SELECT, lo tiré a un arreglo con COPY TO ARRAY y luego en la tabla destino lo jalo con APPEND FROM ARRAY. Pero a veces me da error porque el arreglo no se crea. Cómo puedo controlar eso?
Usa la siiguiente forma:
IF !VARTYPE(tuArreglo)='U'
APPE FROM ARRAY AX
ENDIF
IF !VARTYPE(tuArreglo)='U'
APPE FROM ARRAY AX
ENDIF
Hola manuel buen dia.
que tal como estas estoy modificando un bd de acces a visual fox pro y quisiera saber como capturar en un cuadro de texto la hora que tiene la maquina y como capturar en un cuadro de texto un numero progresivo automaticamente
que tal como estas estoy modificando un bd de acces a visual fox pro y quisiera saber como capturar en un cuadro de texto la hora que tiene la maquina y como capturar en un cuadro de texto un numero progresivo automaticamente
HOLA AMIGO
ESPERO ME PUEDAS AYUDAR YA QUE NO SE COMO HACER PARA QUE MEDIANTE SQL EN VFP 6.0 PUEDA HACER UNA LINEA EN COLUMNA COMO EL CROSSTAB O EL PIVOT.
TE AGRADECERIA ME PUDIERAS AYUDAR POR TU AMABLE ATENCION GRACIAS
ESPERO ME PUEDAS AYUDAR YA QUE NO SE COMO HACER PARA QUE MEDIANTE SQL EN VFP 6.0 PUEDA HACER UNA LINEA EN COLUMNA COMO EL CROSSTAB O EL PIVOT.
TE AGRADECERIA ME PUDIERAS AYUDAR POR TU AMABLE ATENCION GRACIAS
Hola necesito crear un indice de fecha + numero de factura pero no me lo ordena 'dd/mm/aaaa', no se como hacerlo.
Gracias
Llule
Gracias
Llule
Utiliza la función DTOS() en la expresión de tu índice, algo así: DTOS(fecha)+numfactu.
Para eso, se supone que tu campo fecha es de tipo fecha y el número de factura de tipo cadena.
Para eso, se supone que tu campo fecha es de tipo fecha y el número de factura de tipo cadena.
HOLA, TENGO UN PEQUEÑO PROBLEMA CON MI EJECUTABLE. CUANDO LO EJECUTO ME SALEN DOS PANTALLAS. UNA ES I FORMULARIO Y LA OTRA QUE SE SITUA EN LA PARTE DE ATRAS TIENE COMO TITULO "MICROSOFT VISUAL FOXPRO". AGRADEZCO SU AYUDA. GRACIAS.!!!
Hola YO SOY CRISTIANO:
solo agrega esta linea de codigo en el init de tu formulario principal.
_screen.visible=.F.
con esto no saldrá la ventana de foxpro.
solo agrega esta linea de codigo en el init de tu formulario principal.
_screen.visible=.F.
con esto no saldrá la ventana de foxpro.
Deseo obtener copia de mis DBF pero en excel, con extensión de xls, para que mis daros no corran riesgo. Puedes decirme como lo hago?
Saludos Manuel
Necesito saber como puedo imprimir (VFP60) un reporte en dos impresoras a la vez, es decir cuando un usuario envie una factura a la impresora, este a su vez se replique en otra impresora de la misma red, por favor si me puedes ayudar estare sumamente agradecido.
Walter
Necesito saber como puedo imprimir (VFP60) un reporte en dos impresoras a la vez, es decir cuando un usuario envie una factura a la impresora, este a su vez se replique en otra impresora de la misma red, por favor si me puedes ayudar estare sumamente agradecido.
Walter
En una red, los impresores deben estar compartidas y puedes enviar la impresión usando la siguiente instrucción antes del PREVIEW
SET PRINTER TO \\nombrePC\NombreImpresor
REPO FORM tuReporte PREVIEW
SET PRINTER TO \\nombrePC\NombreImpresor2
REPO FORM tuReporte PREVIEW
SET PRINTER TO \\nombrePC\NombreImpresor
REPO FORM tuReporte PREVIEW
SET PRINTER TO \\nombrePC\NombreImpresor2
REPO FORM tuReporte PREVIEW
Hola disculpa que moleste tanto por este tema, pero como me ha costado, el combo en style le puse 0 ya que necesito escoger de la lista, pero si no estan escribir valores, entonces cuando los escribo no me los toma como numero si no como texto, no se porque, que si luego tomo ese valor que escribi y lo multiplico por cantidad o por cualquier numero el resultado me da 0.00
Gracias
Llule
Gracias
Llule
Hola, gracias, ya hice todo eso y me sigue el mismo problema, te explico, tengo un combo en una columna de un grid, este combo es para el precio, donde me debe listar 5 precios, pero antes de entrar en el gotfocus del combo yo lleno la matriz con los 5 precios que necesito me despliegue pero no lo hace, no me manda ningun error, pero cuando le doy click al combo no hace nada no me despliega lo precios, ni tan solo me despliega el combo vacio o sea no hace nada.
Gracias
Llule
Gracias
Llule
HOLA MANUEL SABES COMO PUEDO LEER UN CAMPO
MEMO DE UNA BD QUE SE ABRE CON EXCEL, NO LO PUEDO VER.
GRACIAS
MEMO DE UNA BD QUE SE ABRE CON EXCEL, NO LO PUEDO VER.
GRACIAS
Crea un objeto de tipo Excel, que esté en blanco y le agregas los valores de tus campos, de la siguiente manera:
objExcel=CREATEOBJECT("excel.application")
objexcel.Workbooks.Add
i=0
Select tuTabla
Go top
do whil !eof()
i=i+1
tuVariable=alltrim(TuCampoMemo)
objExcel.Cells(i,1).Value=tuVariable
skip
Endd
objExcel.Visible=.t.
*Lo anterior te pasa el memo a Excel, en todos los registros.
En este caso, podrías también tener algún archivo como plantilla para recibir los datos. Si fuera así, no necesitas hacer un "objexcel.Workbooks.Add", sino que sería un objexcel.Workbooks.Open("Elnombredetuarchivo.xls"), para que te abra el archivo.
Pruébalo y me comentas.
objExcel=CREATEOBJECT("excel.application")
objexcel.Workbooks.Add
i=0
Select tuTabla
Go top
do whil !eof()
i=i+1
tuVariable=alltrim(TuCampoMemo)
objExcel.Cells(i,1).Value=tuVariable
skip
Endd
objExcel.Visible=.t.
*Lo anterior te pasa el memo a Excel, en todos los registros.
En este caso, podrías también tener algún archivo como plantilla para recibir los datos. Si fuera así, no necesitas hacer un "objexcel.Workbooks.Add", sino que sería un objexcel.Workbooks.Open("Elnombredetuarchivo.xls"), para que te abra el archivo.
Pruébalo y me comentas.
Hola de nuevo, espero me puedas ayudar, tengo un problemita, mira, tengo un grid, y una de las columnas es de precio, pero yo quiero que cuando alguien quiera cambiar el precio revise en una variable que tengo si tiene acceso o no, y cuando no tiene acceso pedir la clave de aquien que lo tenga, el problema es que mando a pedir con un cuadro de texto y cuando le doy enter me debe devolver el control a precio pero no lo hace.
Llule
Llule
Para enviarle el enfoque a un campo de un grid, necesitamos conocer en qué columna se encuentra.
Imagina que tu grid se llama "Grid1" y que el precio está en "Column4", entonces, deberás hacer esto:
Thisform.Grid1.Column4.Text1.Setfocus
De preferencia, este renglón no va en el "keypress" de la caja de texto donde lo llamas, sino en el "LostFocus".
Espero haberte ayudado. :)
Imagina que tu grid se llama "Grid1" y que el precio está en "Column4", entonces, deberás hacer esto:
Thisform.Grid1.Column4.Text1.Setfocus
De preferencia, este renglón no va en el "keypress" de la caja de texto donde lo llamas, sino en el "LostFocus".
Espero haberte ayudado. :)
hola yo lo estoy haciendo asi, pero cuando estoy en la columna del precio y lo voy a cambiar necesito mandar un mensaje y me lo hace y necesito mandar una editbox para que pida una clave para cambiar el precio, pero cuando me lo presenta el editbox no tiene el enfoque, y tengo que darle un click y luego escribir la clave, bueno y le doy enter y es alli donde le doy el setfocus pero no me lo manda al grid si no al inicio del encabezado de la factura.
y no se que hacer
Gracias
Llule
y no se que hacer
Gracias
Llule
auxilio! Tengo un ejecutable en FoxPro 2.0, pero al ejecutarlo en el explorador de Windows de mi PC, me dice que no la "cannot locate dsired version of FoxPro". Tengo Window98.
Debes tener en la misma carpeta donde ejecutas el sistema, dos archivos que son las librerías de FoxPro2.0
FOXPRO.ESO y FOXPRO.ESL
FOXPRO.ESO y FOXPRO.ESL
QUE TAL MANUEL DEBO DARTE LAS GRACIAS TU AYUDA ME SIRVIO DE MUCHO, AHORA TENGO OTRA DUDA:
¿ME PUEDES DECIR LA FORMA MÁS EFECTIVA DE USAR EL COMANDO "PACK"?
QUIERO BORRAR FISICAMENTE DESDE UN FORMULARIO, YA USE EN EL LOAD:
SELECT 1
USE NOMTABLA EXCLUSIVE
Y USE EN EL UNLOAD:
CLOSE ALL
Y EN MI BOTON BORRAR PONGO EL PACK (PORQUE SI LO PONGO EN UNLOAD ME MARCA IGUAL ERROR)
FUNCIONO UN TIEMPO PERO TENGO OTRO FORMULARIO EN EL PROYECTO CON EL CODIGO EXACTO EXCEPTO POR EL NOMBRE DE LA TABLA DE MODO QUE YA NO FUNCIONO NI EN EL PRIMER FORMULARIO NI EN EL SEGUNDO AL USAR EL "PACK".
DE ANTEMANO MUCHAS GRACIAS POR LA AYUDA.
¿ME PUEDES DECIR LA FORMA MÁS EFECTIVA DE USAR EL COMANDO "PACK"?
QUIERO BORRAR FISICAMENTE DESDE UN FORMULARIO, YA USE EN EL LOAD:
SELECT 1
USE NOMTABLA EXCLUSIVE
Y USE EN EL UNLOAD:
CLOSE ALL
Y EN MI BOTON BORRAR PONGO EL PACK (PORQUE SI LO PONGO EN UNLOAD ME MARCA IGUAL ERROR)
FUNCIONO UN TIEMPO PERO TENGO OTRO FORMULARIO EN EL PROYECTO CON EL CODIGO EXACTO EXCEPTO POR EL NOMBRE DE LA TABLA DE MODO QUE YA NO FUNCIONO NI EN EL PRIMER FORMULARIO NI EN EL SEGUNDO AL USAR EL "PACK".
DE ANTEMANO MUCHAS GRACIAS POR LA AYUDA.
Primero, tienes que saber qué hace PACK: Borra solamente aquellos registros que fueron marcados con DELETE. Si no hay registros marcados, el PACK parecerá que nada hace.
Segundo, para que el PACK funcione es necesario que la tabla esté en modo Exclusivo.
Tercero, si va a usarse en un formulario, veamos los dos casos:
1. Si agregas la tabla en el Entorno de Datos, Vé a las propiedades y le pones Exclusive=.t.
2. Si no tienes tablas en el entorno de datos, simplemente puedes hacer USE <laTabla> EXCLUSIVE y luego PACK
Cuarto, no olvides asegurarte que la tabla exclusiva esté activa en el momento de hacer PACK, y no otra.
Segundo, para que el PACK funcione es necesario que la tabla esté en modo Exclusivo.
Tercero, si va a usarse en un formulario, veamos los dos casos:
1. Si agregas la tabla en el Entorno de Datos, Vé a las propiedades y le pones Exclusive=.t.
2. Si no tienes tablas en el entorno de datos, simplemente puedes hacer USE <laTabla> EXCLUSIVE y luego PACK
Cuarto, no olvides asegurarte que la tabla exclusiva esté activa en el momento de hacer PACK, y no otra.
Hola,
Si me ayudas, tengo un problema para abrir un cajon de dinero conectado a un puerto serial, ya he probado un monton de cosas y nada me abre el cajon, en windows xp.
Yo mando abrir el cajon y luego mando a imprimir o lo hago al reves y lo que hace es que me lo manda a la cola de impresion de la impresora.
gracias
Llule
Si me ayudas, tengo un problema para abrir un cajon de dinero conectado a un puerto serial, ya he probado un monton de cosas y nada me abre el cajon, en windows xp.
Yo mando abrir el cajon y luego mando a imprimir o lo hago al reves y lo que hace es que me lo manda a la cola de impresion de la impresora.
gracias
Llule
El siguiente código es para un impresor conectado al LPT1:
SET PRINTER TO NAME <nombre de tu impresor>
SET DEVICE TO PRINTER
???CHR(27)+CHR(64)
???CHR(27)+CHR(112)+CHR(0)+CHR(25)+CHR(250)
SET PRIN TO
SET DEVI TO SCRE
====
Si tu impresor está conectado al puerto COM, tienes que agregar un componente ActiveX MSCOMM. Y en el Init de tu formulario le pones:
Thisform.OLECONTROL1.portopen=.t.
Luego, cuando quieras abrirlo, ejecutas esto:
Thisform.OLECONTROL1.portoutput=CHR(27)+CHR(64)
Thisform.OLECONTROL1.portoutput=CHR(27)+CHR(112)+CHR(0)+CHR(25)+CHR(250)
=====
Otra solución es esta:
http://www.clearlight.com.ve/epsonPF.htm
En este enlace puedes descargar una DLL, que tiene una función llamada <AbrirGavetaN> que al parecer hace lo que tú deseas. Los comentarios que el autor hace lo refiere a Visual Basic, pero las DLL también pueden usarse en VFP. En el detalle del sitio da las explicaciones:
AbrirGavetaN(nGaveta) As Integer, significa que devuelve un valor numérico. En Fox, lo harías así:
DECLARE INTEGER AbrirGavetaN ;
IN PrinterFiscal.dll ;
INTEGER nGaveta
x=AbrirGavetaN(1)
Abre la gaveta o cajón de dinero conectado al printer. nGaveta es el número del cajón a abrir. Puede ser 1 ó 2.
OJO: Esto último no lo he probado. Sin embargo, espero que te ayude.
SET PRINTER TO NAME <nombre de tu impresor>
SET DEVICE TO PRINTER
???CHR(27)+CHR(64)
???CHR(27)+CHR(112)+CHR(0)+CHR(25)+CHR(250)
SET PRIN TO
SET DEVI TO SCRE
====
Si tu impresor está conectado al puerto COM, tienes que agregar un componente ActiveX MSCOMM. Y en el Init de tu formulario le pones:
Thisform.OLECONTROL1.portopen=.t.
Luego, cuando quieras abrirlo, ejecutas esto:
Thisform.OLECONTROL1.portoutput=CHR(27)+CHR(64)
Thisform.OLECONTROL1.portoutput=CHR(27)+CHR(112)+CHR(0)+CHR(25)+CHR(250)
=====
Otra solución es esta:
http://www.clearlight.com.ve/epsonPF.htm
En este enlace puedes descargar una DLL, que tiene una función llamada <AbrirGavetaN> que al parecer hace lo que tú deseas. Los comentarios que el autor hace lo refiere a Visual Basic, pero las DLL también pueden usarse en VFP. En el detalle del sitio da las explicaciones:
AbrirGavetaN(nGaveta) As Integer, significa que devuelve un valor numérico. En Fox, lo harías así:
DECLARE INTEGER AbrirGavetaN ;
IN PrinterFiscal.dll ;
INTEGER nGaveta
x=AbrirGavetaN(1)
Abre la gaveta o cajón de dinero conectado al printer. nGaveta es el número del cajón a abrir. Puede ser 1 ó 2.
OJO: Esto último no lo he probado. Sin embargo, espero que te ayude.
Oye, una vez màs te molesto...
Mira, puse un tema en el foro sobre generar graficas en VFP, si pudieras proporcinarme algun ej sencillo, te lo agradeceria mucho.
Mira, puse un tema en el foro sobre generar graficas en VFP, si pudieras proporcinarme algun ej sencillo, te lo agradeceria mucho.
Por aquí hay un control que puedes descargar. Revisa si te ayuda en algo, de lo contrario, avísanos.
http://www.portalfox.com/modules.php?op=modload&name=News&file=article&sid=894&mode=nested&order=0&thold=0
http://www.portalfox.com/modules.php?op=modload&name=News&file=article&sid=894&mode=nested&order=0&thold=0
Hola Manuel gracias por tu ofrecimiento !! y buena fé, necesito ayuda: Quisiera saber como se hace un menú dentro de un cuadro de lista o cuadro de texto o un cuadro de lo que sea... que me permita seleccionar mas de una opcion a través de casillas de verificación y que tenga barra de dezplazamiento vertical, igual al que aparece en el menú "Herramientas - Opciones - Controles" en el entorno de vfp6. Me dijeron por ahi que se hacia con el control TreeView, sin embargo me parece que ese control no hace lo que yo quiero. Muchas Gracias de antemano Y que Dios te de más sabiduria de la que tienes
hola ... tengo el siguiente problema, hay un sistema hecho en foxpro lan 2, que en w98 funciona sin problemas, el tema es que lo paso a un XP y no funciona ... este es el batch que lo inicia:
@ECHO OFF
KEYB US
PATH=%PATH%;C:;C:FOXPRO2;C:NC
CDSISTEMA
FOXPROL -T INGRESO
CD
keyb sp,,C:WINDOWSCOMMANDkeyboard.sys
y este es el config.fp
AUTOSAVE=ON
FILES=120
DATE=BRITISH
CENTURY=ON
help=c:foxpro2foxhelp
resource=c:foxpro2foxuser
tmpfiles=c:foxpro2
editwork=c:foxpro2
sortwork=c:foxpro2
progwork=c:foxpro2
default=c:foxpro2
path=c:foxpro2
MVCOUNT=400
El mensaje de error que da cuando se ejecuta es:
"localized product required for this environment"
y nada mas
lo único que encontré en google asociado con ese error es un problema con el keyb.com ... acomodé las cosas, pero el error sigue apareciendo ... alguna idea?
ah, no fui el que hizo el programa/sistema, soy el que da soporte a la empresa en cuestión ... el problema aparece por el cambio de hardware en la empresa
atte,
tequesta
@ECHO OFF
KEYB US
PATH=%PATH%;C:;C:FOXPRO2;C:NC
CDSISTEMA
FOXPROL -T INGRESO
CD
keyb sp,,C:WINDOWSCOMMANDkeyboard.sys
y este es el config.fp
AUTOSAVE=ON
FILES=120
DATE=BRITISH
CENTURY=ON
help=c:foxpro2foxhelp
resource=c:foxpro2foxuser
tmpfiles=c:foxpro2
editwork=c:foxpro2
sortwork=c:foxpro2
progwork=c:foxpro2
default=c:foxpro2
path=c:foxpro2
MVCOUNT=400
El mensaje de error que da cuando se ejecuta es:
"localized product required for this environment"
y nada mas
lo único que encontré en google asociado con ese error es un problema con el keyb.com ... acomodé las cosas, pero el error sigue apareciendo ... alguna idea?
ah, no fui el que hizo el programa/sistema, soy el que da soporte a la empresa en cuestión ... el problema aparece por el cambio de hardware en la empresa
atte,
tequesta
Hola Manuel. Tengo un problema con un grid. Hago un cruce de datos entre 2 dbf y genero un tercer dbf, luego intento mostrar el resultado en un grid asociado a la tabla generada pero el grid aparece totalmente en blanco. Incluso los encabezados. Te agradeceria tu ayuda. Salu2.
1. Al decir "cruce", ¿te refieres a un SELECT... INTO TABLE ...?
2. ¿En qué momento de tu formulario generar la tercera DBF? ¿qué tan a menudo lo deseas hacer?
2. ¿En qué momento de tu formulario generar la tercera DBF? ¿qué tan a menudo lo deseas hacer?
Hola manuel quiesiera saber si sabes como mandar un repoprte .frx a pdf (utilizando cutepdfprinter) sin que pida el nombre. mejor dicho la idea es que el usuario no tenga que escribir en el cuadro de dialogo que muestran las impresoras virtuales sino que se puedan mandar directos esos datos
Hola. Tengo un problema con un informe.
El resultado de un informe lo estoy enviando a un archivo (REPORT FORM
cInforme TO FILE cNombreArchivo), el problema existe cuando el informe
tiene mas de una página, imprime perfectamente la primera página, pero las
siguientes no, se corta cuando finaliza la primera.
Aclaro que estoy trabajando con VFP 6.
Agradeceria una respuesta.
Saludos
El resultado de un informe lo estoy enviando a un archivo (REPORT FORM
cInforme TO FILE cNombreArchivo), el problema existe cuando el informe
tiene mas de una página, imprime perfectamente la primera página, pero las
siguientes no, se corta cuando finaliza la primera.
Aclaro que estoy trabajando con VFP 6.
Agradeceria una respuesta.
Saludos
¿En qué momento "se corta"? ¿O a qué te refieres con que "se corta"?, pues yo hice una prueba con un reporte de varias páginas y todos los datos se me almacenaron.
También puedes agregar la palabra ASCII, si lo deseas en forma legible, así:
REPO FORM TuReporte TO FILE TuArchivo.Ext ASCII
Explica un poco más en qué momento ves el error.
También puedes agregar la palabra ASCII, si lo deseas en forma legible, así:
REPO FORM TuReporte TO FILE TuArchivo.Ext ASCII
Explica un poco más en qué momento ves el error.
hola Manuel !!! como estas? te quedia pedir un gran favor , me gusta el visual fox pro y quiero conocerlo a profundidad , queria saber si me podes enviar manuales en formato pdf para poderlos aprender
victor maidana soy de Paraguay
victor maidana soy de Paraguay
¿Por qué la especificación de PDF? Conozco un sitio muy útil en cuanto a aprender VFP, pero no está en PDF. Te doy la dirección:
http://www.ubikate.com/visual/
Recuerda que si tienes interrogantes, no dudes en hacérnoslo saber, para poder echarte una manita.
http://www.ubikate.com/visual/
Recuerda que si tienes interrogantes, no dudes en hacérnoslo saber, para poder echarte una manita.
Tengo un problema con los cuadros de lista despegable. El problema que tengo es que me tienen que mostrar el registro correspondiente según una tabla primaria; y lo que me muestra es el registro siguiente al que debería de mostrar. Ya he probado de todo he quitado y vuelto a poner todo, pero sigue funcionando mal y sólo me pasa con algunos. Yo supongo que el error debe de estar el la relación de las tablas, pero no se que es lo que debo cambiar. Lo que yo he puesto es lo siguiente:
En el entorno de datos del formulario tengo las tablas clientes y Tipo_clientes
Clientes: codigo, nombre, domicilio, .tipo_cli,
Tipo_clientes: tipo_cli, descripcion
La tabla Clientes esta ordenada por codigo y la tabla Tipo_clientes esta sin ordenar. Las dos tablas están sin relacionar en el entorno de datos.
Luego en el control lista despegable las propiedades que puse son las siguientes:
ControlSource: Clientes.tipo_cli
RowSource: Tipo_clientes.descripcion
RowSourceType: 6-Campos (probé con 2-Alias y 3-SQL, pero tampoco funciona)
Style: 2-Lista despegable
¿Tienes idea de que tengo mal?
Otra consultita ¿hay alguna funcion para contar los registros de un grid?
Muchas gracias.
Romina
En el entorno de datos del formulario tengo las tablas clientes y Tipo_clientes
Clientes: codigo, nombre, domicilio, .tipo_cli,
Tipo_clientes: tipo_cli, descripcion
La tabla Clientes esta ordenada por codigo y la tabla Tipo_clientes esta sin ordenar. Las dos tablas están sin relacionar en el entorno de datos.
Luego en el control lista despegable las propiedades que puse son las siguientes:
ControlSource: Clientes.tipo_cli
RowSource: Tipo_clientes.descripcion
RowSourceType: 6-Campos (probé con 2-Alias y 3-SQL, pero tampoco funciona)
Style: 2-Lista despegable
¿Tienes idea de que tengo mal?
Otra consultita ¿hay alguna funcion para contar los registros de un grid?
Muchas gracias.
Romina
Debe haber correspondencia en el campo común de ambas tablas. El campo del "ControlSource" debe corresponderse con el "Value".
Así, puedes hacer que tu combo tenga dos columnas, o que refleje dos campos. Uno será para que el usuario lo vea (en este caso, tipo_clientes.descripcion) y el otro para el Value (en este caso, Tipo_clientes.Tipo_cli).
En cuanto a reflejar dos columnas, bien haces con elegir RowSourceType=6-Campos, así puedes agregar con comas los demás campos en la propiedad RowSource. Así:
RowSource=Tipo_clientes.descripcion, tipo_cli
RowSourceType: 6-Campos
BOUNDCOLUMN=2
BoundColumn se refiere al número de columna que tendrá el Value, en este caso indica la segunda columna (tipo_cli).
Y no olvides que con la propiedad ColumnWidths puedes asignar el ancho de cada columna.
AHHH: Y con lo de la función que cuente los registros del grid:
Si el grid depende de datos filtrados, haces esto:
SELECT LaTablaDelGrid
COUNT TO <Variable> FOR <las condiciones del filtro>
Por ejemplo, podrías querer ver cuántos clientes tienes, simplemente haces:
Select Clientes
COUNT TO Todos
ó sólo los de tipo=1, sería así:
COUNT TO xyz FOR TIPO=1
También puedes enviar el resultado a una cja de texto, así:
COUNT TO Thisform.Text1.Value FOR domicilio="Jerusalén"
Así, puedes hacer que tu combo tenga dos columnas, o que refleje dos campos. Uno será para que el usuario lo vea (en este caso, tipo_clientes.descripcion) y el otro para el Value (en este caso, Tipo_clientes.Tipo_cli).
En cuanto a reflejar dos columnas, bien haces con elegir RowSourceType=6-Campos, así puedes agregar con comas los demás campos en la propiedad RowSource. Así:
RowSource=Tipo_clientes.descripcion, tipo_cli
RowSourceType: 6-Campos
BOUNDCOLUMN=2
BoundColumn se refiere al número de columna que tendrá el Value, en este caso indica la segunda columna (tipo_cli).
Y no olvides que con la propiedad ColumnWidths puedes asignar el ancho de cada columna.
AHHH: Y con lo de la función que cuente los registros del grid:
Si el grid depende de datos filtrados, haces esto:
SELECT LaTablaDelGrid
COUNT TO <Variable> FOR <las condiciones del filtro>
Por ejemplo, podrías querer ver cuántos clientes tienes, simplemente haces:
Select Clientes
COUNT TO Todos
ó sólo los de tipo=1, sería así:
COUNT TO xyz FOR TIPO=1
También puedes enviar el resultado a una cja de texto, así:
COUNT TO Thisform.Text1.Value FOR domicilio="Jerusalén"
Ayúdame,,, mi aplicación ordena la ch entre al c y la d, así:
castro
claro
choza
dinero
¿Cómo hago que me considere la ch como parte de la c?.. no sé si me explico. así: castro,choza,claro,dinero
castro
claro
choza
dinero
¿Cómo hago que me considere la ch como parte de la c?.. no sé si me explico. así: castro,choza,claro,dinero
Eso sucede cuando SET COLLATE esta a SPANISH.
Pon esta instruccion en tu programa principal:
SET COLLATE TO GENERAL
Pon esta instruccion en tu programa principal:
SET COLLATE TO GENERAL
TENGO QUE HACER UN LINK CON SQLSERVER7 Y VF 2.6 ¿COMO LO HAGO? !!!! GRACIAS
hola espero que me puedas ayudar. mira tengo un grid en un formulario de visualfox 6.0 y quiero que en este grid me aparescan los datos de dos tablas diferentes pero solo aquellos registros que existen en ambas tablas, hasta aorita no se mas que en el grid en click derecho y en generador, indicar los campos de una tabla para que aparescan. la cuestion es como hascer para que aparescan pero de dos tablas diferentes. espero me mpuedas ayudar de antemano muchas gracias.
escribeme a [email protected]
gracias
escribeme a [email protected]
gracias
Hola Manuel:
Tengo una serie de reportes en VFP6 que usan variables para distintos c�lculos y que al declararlas marqu� la opci�n "Liberar tras informe".El problema es que luego de pedir una vista previa desde un formulario veo que estas variables siguen existiendo a�n despu�s de haber cerrado el formulario.
He probado limpiarlas en el evento Destroy del reporte, pero a�n as� siguen existiendo.
�Podr�as orientarme al respecto?
Desde ya muchas gracias por ayudarnos a todos.
Tengo una serie de reportes en VFP6 que usan variables para distintos c�lculos y que al declararlas marqu� la opci�n "Liberar tras informe".El problema es que luego de pedir una vista previa desde un formulario veo que estas variables siguen existiendo a�n despu�s de haber cerrado el formulario.
He probado limpiarlas en el evento Destroy del reporte, pero a�n as� siguen existiendo.
�Podr�as orientarme al respecto?
Desde ya muchas gracias por ayudarnos a todos.
Quizás las variables que has hecho tienen igual nombre que algún campo de tus tablas, y en realidad lo que ves después del formulario sea el valor del campo.
Revisa también que no tengas una variable pública con el mismo nombre. Es posible que también pudiera estar afectándote.
Revisa también que no tengas una variable pública con el mismo nombre. Es posible que también pudiera estar afectándote.
Hola...tengo unas dudas acerca de VFP 6.0, aver si tu me puedes ayudar por favor..
Necesito seleccionar un registro en una tabla, que sus diferentes campos coincidan con ese registro..
Ejemplo:
Existe una tabla de captura que tiene los siguientes campos: folio, sucursal, ciclo, tipodecliente, producto, opcional
Al hacer una consulta yo tengo sucursal, ciclo, tipodecliente en variables y necesito encontrar el folio que coincida con esas tres
De antemano GRACIAS!!! 
Necesito seleccionar un registro en una tabla, que sus diferentes campos coincidan con ese registro..
Ejemplo:
Existe una tabla de captura que tiene los siguientes campos: folio, sucursal, ciclo, tipodecliente, producto, opcional
Al hacer una consulta yo tengo sucursal, ciclo, tipodecliente en variables y necesito encontrar el folio que coincida con esas tres
De antemano GRACIAS!!! 
Si ya tienes esos valores en variables, puedes haces esto en el click de algún botón:
SELECT TuTabla
LOCATE FOR Sucursal=varSucursal and Ciclo=varCiclo and TipodeCliente=varTipodeCliente
IF FOUND()
___FolioHallado=Folio
___MESSAGEBOX('La información está en el folio '+FolioHallado) &&Se supone que el campo folio es de cadena
___*Si el campo folio es numérico, debes hacer STR(FolioHallado) para mostrarlo en el Messagebox().
ELSE
___MESSAGEBOX('No se halló folio con esas características')
___RETURN
ENDI
SELECT TuTabla
LOCATE FOR Sucursal=varSucursal and Ciclo=varCiclo and TipodeCliente=varTipodeCliente
IF FOUND()
___FolioHallado=Folio
___MESSAGEBOX('La información está en el folio '+FolioHallado) &&Se supone que el campo folio es de cadena
___*Si el campo folio es numérico, debes hacer STR(FolioHallado) para mostrarlo en el Messagebox().
ELSE
___MESSAGEBOX('No se halló folio con esas características')
___RETURN
ENDI
tengo algunos problemitas quisiera poder contar con su ayuda,
1- como hago para selecionar de una tabla el maximo de un campo con ciertos parametros pero sin utilizar la sentencia sql ya q en fox pro 6.0 tarda michisimo.
2-lo otro es como abro un informe en vista previa haciendo referencia a datos en el formulario.
3- Quiero saber como programar un grid en la cual pueda introducir datos y q me guarden directamente a la bd, yo lo q he hecho hasta los momento es drale las propiedades al grid y el me trae la tabla y alli puedo tranquilamente indexar datos pero cuando hago una consulta sql con un cursor especificando a un determinado cliente, en el momento de hacer clic sobre el grid en modo de ejecucion me pierde el cursor con los datos sql y me vuelve a mostrar toda la tabla.
1- como hago para selecionar de una tabla el maximo de un campo con ciertos parametros pero sin utilizar la sentencia sql ya q en fox pro 6.0 tarda michisimo.
2-lo otro es como abro un informe en vista previa haciendo referencia a datos en el formulario.
3- Quiero saber como programar un grid en la cual pueda introducir datos y q me guarden directamente a la bd, yo lo q he hecho hasta los momento es drale las propiedades al grid y el me trae la tabla y alli puedo tranquilamente indexar datos pero cuando hago una consulta sql con un cursor especificando a un determinado cliente, en el momento de hacer clic sobre el grid en modo de ejecucion me pierde el cursor con los datos sql y me vuelve a mostrar toda la tabla.
1. Calcular valor máximo de un campo:
SELE LaTabla
CALCULATE MAX(campo) TO variable FOR <condiciones>
2. Informe con datos del formulario:
-Si el formulario muestra sólo un registro:
SELE LaTabla
elreg=Recno()
REPORT FORM ElReporte FOR RECNO()=elreg PREVIEW
-Si la tabla tiene algún filtro que nos interesa conservar para el reporte
SELE LaTabla
Elfiltro=FILTER()
REPORT FORM ElReporte FOR &elfiltro PREVIEW
-Si hay varias tablas involucradas, lo mejor es crear sesión privada de datos en el Reporte y colocar en el entorno de datos las relaciones de tablas necesarias como en el formulario, y ahí colocar en la tabla correspondiente la propiedad Filter="Campo=Variable", donde Variable la capturamos antes de lanzar el reporte. Así:
SELE LaTabla
Variable=Campo
REPO FORM ElReporte PREVIEW
3. Para el grid, ControlSource="TuTabla", ControlSourceType=Alias, y en las propiedades buscas cada objeto Column que depende del grid y le pones en ControlSource="tabla.elcampo" según corresponda. Si tu tabla está relacionada con clientes, puedes hacer como dice en la respuesta anterior.
La búsqueda de datos puedes hacerla usando otro formulario. ¿De qué forma usas la consulta SQL con el cliente?
SELE LaTabla
CALCULATE MAX(campo) TO variable FOR <condiciones>
2. Informe con datos del formulario:
-Si el formulario muestra sólo un registro:
SELE LaTabla
elreg=Recno()
REPORT FORM ElReporte FOR RECNO()=elreg PREVIEW
-Si la tabla tiene algún filtro que nos interesa conservar para el reporte
SELE LaTabla
Elfiltro=FILTER()
REPORT FORM ElReporte FOR &elfiltro PREVIEW
-Si hay varias tablas involucradas, lo mejor es crear sesión privada de datos en el Reporte y colocar en el entorno de datos las relaciones de tablas necesarias como en el formulario, y ahí colocar en la tabla correspondiente la propiedad Filter="Campo=Variable", donde Variable la capturamos antes de lanzar el reporte. Así:
SELE LaTabla
Variable=Campo
REPO FORM ElReporte PREVIEW
3. Para el grid, ControlSource="TuTabla", ControlSourceType=Alias, y en las propiedades buscas cada objeto Column que depende del grid y le pones en ControlSource="tabla.elcampo" según corresponda. Si tu tabla está relacionada con clientes, puedes hacer como dice en la respuesta anterior.
La búsqueda de datos puedes hacerla usando otro formulario. ¿De qué forma usas la consulta SQL con el cliente?
En un formulario abro las tablas y las relaciono al presionar un clic al mismo tiempo que llamo un segundo formulario... lo extraño es que el segundo formulario dice que no hay tablas, ¿qué puede estar pasando?
Revisa el segundo formulario. quizá tienes la propiedad DATASESSION=2-Sesión privada de Datos. Debe estar en 1.
Hola Amigo Necesito ver la forma de interconectar el VFOX con COREL para poder trabajar con mapas tipos GPS con distintos ZOON
Te agradeceria un monton
Te agradeceria un monton
¿Es necesario acceder a los archivos de Corel? Con VFP puedes hacer ZOOM usando el control Picture, modificando sus dimensiones.
Hola, tengo un grid y en una de sus columnas tengo un combo, que quiero me muestre unos precios, antes de esto lleno una matriz con los precios que quiero que muestre pero no lo hace, que hago, hay algo en especial, que hay que hacer para que los combo se muestren en un grid, ya que hice lo mismo en un combo pero fuera del grid y este si me muestra los precios.
Gracias de antemano por tu ayuda
Llule
Gracias de antemano por tu ayuda
Llule
Revisa las propiedades del Grid, y busca la Column donde tienes el combo. En las propiedades de la Column, debe estar CurrentControl=Combo1. Lo normal es que esté Text1, pero tú cámbiale a Combo1.
Hola, sabes en el CurrentControl, yo l e tengo Combo1, y no me salen los elementos, que mas puede ser.
Gracias
Llule
Gracias
Llule
Disculpa Manuel la intromision en la respuesta a esta problema.
En la propiedad SPARSE de la columna donde tienes el combo ponle la condicion a .F. y asunto arreglado.
Esta propiedad la tienes que utilizar asi cuando utilices cualquier otra cosa que no sea el text del grid como control.
Suerte
En la propiedad SPARSE de la columna donde tienes el combo ponle la condicion a .F. y asunto arreglado.
Esta propiedad la tienes que utilizar asi cuando utilices cualquier otra cosa que no sea el text del grid como control.
Suerte
Hola Manuel.. podrás decirme como imprimo en una impresora que no es predeterminada? Necesito que el usuario pueda elegir la impresora, no VFP.
Agrega PROMPT al comando donde llamas el reporte. Así:
REPO FORM TuReporte TO PRINTER PROMPT NOCONSOLE
REPO FORM TuReporte TO PRINTER PROMPT NOCONSOLE
Holla, una preguntita... sabes como puedo leer archivos de base de datos Fox Pro DOS?? No tengo el programa, asi ke me preguntaba si lo podia leer con excel o algo asi...
bueno gracias :)
bueno gracias :)
Sí, puedes abrir las DBF de Foxpro para DOS, en Excel.
Eso lo logras, entrado en Excel, yendo al menú "Archivo", eligiendo "Abrir" y cuando te salga el cuado, buscas la ruta y en la parte "Tipo de Archivos" seleccionas "Archivos Dbase", y te mostrará sólo los DBF. Eliges el que deseas, y listo.
OJO: Las tablas de VisualFoxPro no pueden abrirse de esta forma. Sólo las de FoxPro para DOS
Eso lo logras, entrado en Excel, yendo al menú "Archivo", eligiendo "Abrir" y cuando te salga el cuado, buscas la ruta y en la parte "Tipo de Archivos" seleccionas "Archivos Dbase", y te mostrará sólo los DBF. Eliges el que deseas, y listo.
OJO: Las tablas de VisualFoxPro no pueden abrirse de esta forma. Sólo las de FoxPro para DOS
Quiero usar un label para mostrar un dato de una tabla pero no tiene ControlSource.
Si el valor es fijo, puedes tomarlo en el Init de tu formulario, programando algo así:
Select TuTabla
TuDato=TuCampo
This.TuLabel.Caption=TuDato
Select TuTabla
TuDato=TuCampo
This.TuLabel.Caption=TuDato
necesito ayuda lo antes posible para saber como puedo pasar un objeto por referencia a una function o procedimiento para poder trabajar con el objeto desde el procedimiento
ademas tengo problemas para acceder a informacion que guardo en un cursor. Por favor ayudame
ademas tengo problemas para acceder a informacion que guardo en un cursor. Por favor ayudame
1. Puedes enviar un objeto como parámetro, enviando su "name". Por ejemplo, podrías desear cambiar el backcolor de Text3 en el LostFocus con un procedimiento que lo haga, así:
Thisform.CambiarBack(this.name)
Y en el procedimiento, pondrías así:
*
Parameter MiObj
Control=MiObj+'.BackColor'
&Control=RGB(192,200,0)
2. ¿De qué forma deseas tener acceso a los datos del cursor?
Thisform.CambiarBack(this.name)
Y en el procedimiento, pondrías así:
*
Parameter MiObj
Control=MiObj+'.BackColor'
&Control=RGB(192,200,0)
2. ¿De qué forma deseas tener acceso a los datos del cursor?
Holsa manuel. ante nada gracias por la ayuda. Estoy teniendo un problema, necesitaria saber su el foxpro 2.6 para dos puede llamar a una dll, ya que lo necesito para imprimir en una impresora fiscal
No necesitas una DLL para manejar tu impresor fiscal desde DOS.
Lo que necesitas es conocer sobre los comandos ESC/POS.
Información referente a esos códigos lo puedes hallar poniendo en tu buscador la palabra ESC/POS.
Espero que esto te sea útil.
Seguimos en contacto.
Lo que necesitas es conocer sobre los comandos ESC/POS.
Información referente a esos códigos lo puedes hallar poniendo en tu buscador la palabra ESC/POS.
Espero que esto te sea útil.
Seguimos en contacto.
miren tengo un pequeño problema y queria saver si me pueden ayudar:
he hecho un trabajo en los ultimos 4 meses y ya casi lo he terminado solo me falta una programacion para reiniciar el equipo al dar click en un boton.
por cierto lo necesito para visual foxpro 6.
espero su pronta respuesta ya que el trabajo lo tengo que entregar el dia 5 de mayo. de antemano gracias.
he hecho un trabajo en los ultimos 4 meses y ya casi lo he terminado solo me falta una programacion para reiniciar el equipo al dar click en un boton.
por cierto lo necesito para visual foxpro 6.
espero su pronta respuesta ya que el trabajo lo tengo que entregar el dia 5 de mayo. de antemano gracias.
hola manuel tengo un problema parecido alde llule por eso te respndo aca yo ya saque el subtotal manejando los datos de los text de la grilla, en la opcion got focus, y tengo problemas para calcular e total tb en una caja de texto, probe tu programacion en el gotfocus de los text de la grilla y me hace un calculo, en el primer registro bien, pero a partir del segundo es como q me lo divide
desde ya gracias por la ayuda q me puedas brindar
saludos cordiales
pablo
desde ya gracias por la ayuda q me puedas brindar
saludos cordiales
pablo
Gracias de antemano. Tengo un problema con el manejador de visual foxpro tables. Hasta ahora siempre he utilizado bd .mdb, y programando con vb6, pero hacciendo pinitos con .bdf me tope con ese problema, la maquina cliente no disponia de dicho controlador y la actualizacion del driver que me aparece en el msdn (en la direccion web que me devuelve al intentar crear el origen de datos a mano), no me dio resultado.La unica forma que supe para solventar el problema fue instalarle el vfp6 en la maquina cliente.... y de esta manera, si iba...(pero demasiado bruto...). ¿Me podrias informar de donde extraer dicho instalador del driver? ¿existe en la carpeta vfp del visual studio? Gracias de nuevo.
Hola Manuel, como estas??? Tengo Dos pequeñas preguntitas.
1.- Como hago para que cuando precione la tecla Escape se me cierre el formulario?? Yo uso lo sig: "on key label escape nombreformulario.release" pero al precionar escape muchas veces me tira un error "no se encuentra el OBJETO", no se si hay solucion a ese problemas o hay otra forma de predefinir la tela escape para cerrar el formulario que se esta utilizando en es momento, y pasar al anterior.
2.- Como hago para salir del foxpro teniendo un o varios formularios abriertos en el mismo, porque con el comando QUIT dice siempre "Imposible sair del FOXPRO"
Desde ya gracias!!!!!!!
1.- Como hago para que cuando precione la tecla Escape se me cierre el formulario?? Yo uso lo sig: "on key label escape nombreformulario.release" pero al precionar escape muchas veces me tira un error "no se encuentra el OBJETO", no se si hay solucion a ese problemas o hay otra forma de predefinir la tela escape para cerrar el formulario que se esta utilizando en es momento, y pasar al anterior.
2.- Como hago para salir del foxpro teniendo un o varios formularios abriertos en el mismo, porque con el comando QUIT dice siempre "Imposible sair del FOXPRO"
Desde ya gracias!!!!!!!
Hola Manuel buen Dia
Tengo un problemita o más bien no se como hacer: en mi formulario tengo que introducir una serie de datos, pero quiero que cuando haga falta llenar un cuadro de Texto, al guardarlo me mande un mensaje en el que me diga que cuadro de texto me falta llenar.
De antemano mil gracias y muchos saludos. Gracias por efrecerte a ayudarnos.
Tengo un problemita o más bien no se como hacer: en mi formulario tengo que introducir una serie de datos, pero quiero que cuando haga falta llenar un cuadro de Texto, al guardarlo me mande un mensaje en el que me diga que cuadro de texto me falta llenar.
De antemano mil gracias y muchos saludos. Gracias por efrecerte a ayudarnos.
QUISIERA SABER COMO ES EL CODIGO CORRECTO DE UN BOTON ELIMINAR EN UN FORMULARIO DE VFP
AYUDENME POR FAVOR
AYUDENME POR FAVOR
Definir unos renglones como "el código correcto" depende de la forma en que estés trabajando lo datos en el formulario. Te daré un ejemplo: Si tienes la tabla en el Entorno de Datos y su propiedad bufferModeOverride=5. Supongamos que el botón Eliminar realiza la acción en el mismo formulario donde tienes tu cuadrícula. Entonces el código será:
IF MESSAGEBOX("¿ESTÁ SEGURO DE ELIMINAR ESTE REGISTRO?",4,"CONFIRME")
SET DELETE ON
SELECT tuTablaDelGrid
DELETE
SKIP -1
TABLEUPDATE(.T.)
THISFORM.REFRESH
ENDIF
OJO: SET DELETE ON debería ir en el programa principal de tu aplicación o en el Load del formulario.
IF MESSAGEBOX("¿ESTÁ SEGURO DE ELIMINAR ESTE REGISTRO?",4,"CONFIRME")
SET DELETE ON
SELECT tuTablaDelGrid
DELETE
SKIP -1
TABLEUPDATE(.T.)
THISFORM.REFRESH
ENDIF
OJO: SET DELETE ON debería ir en el programa principal de tu aplicación o en el Load del formulario.
Hola manuel, de antemano gracias x el control de las gráficas, es muy util, ahora tengo nuevamente una pregunta, espero puedas ayudarme:
Necesito saber ¿Como programar mi aplicación, tal que solo se ejecute una vez en la memoria? Es decir, la calculadora de windows, se ejecuta cuantas veces guste, es decir duplica el proceso en la memoria, pero yo no quiero eso, yo lo que quiero es que mi programa sea único en la memoria, & que si se vuele a llamar desde su "acceso directo", por ejemplo, traiga al frente la aplicacion que ya esta abierta...
Espero haberme dado a entender bien. Gracias & espero tu respuesta.
Necesito saber ¿Como programar mi aplicación, tal que solo se ejecute una vez en la memoria? Es decir, la calculadora de windows, se ejecuta cuantas veces guste, es decir duplica el proceso en la memoria, pero yo no quiero eso, yo lo que quiero es que mi programa sea único en la memoria, & que si se vuele a llamar desde su "acceso directo", por ejemplo, traiga al frente la aplicacion que ya esta abierta...
Espero haberme dado a entender bien. Gracias & espero tu respuesta.
Puedes resporderme?
Gracias, no es presion, pero me aseguro de que veas mi mensaje anterior.
Gracias, no es presion, pero me aseguro de que veas mi mensaje anterior.
Hola Manuel
Tengo un grid el cual debo actualizar mediante una instruccion SQL, establezco la propiedad Recordsource type=4-Sentencia SQL, y la cadena SQL se la asigno en tiempo de ejecucion a la propiedad Recordsource. Todo funciona muy bien con una tabla normal. Sin embargo mi problema surge porque me interesa que la actualizacion sea desde una tabla temporal, es decir, un cursor. Lo intenté pero no funciona, el grid se queda vacio y ni siquiera me marca un error.
¿Crees que lo que estoy intentando sea posible?
Gracias
Saludos
Tengo un grid el cual debo actualizar mediante una instruccion SQL, establezco la propiedad Recordsource type=4-Sentencia SQL, y la cadena SQL se la asigno en tiempo de ejecucion a la propiedad Recordsource. Todo funciona muy bien con una tabla normal. Sin embargo mi problema surge porque me interesa que la actualizacion sea desde una tabla temporal, es decir, un cursor. Lo intenté pero no funciona, el grid se queda vacio y ni siquiera me marca un error.
¿Crees que lo que estoy intentando sea posible?
Gracias
Saludos
Supongo que te sale más fácil crear una vista para que la uses en el entorno de datos como si fuera tabla, y así la pones en el RecordSource de tu grilla.
La expresión para crear tu vista es:
CREATE SQL VIEW tuVista AS <TuExpresiónSELECT-SQL>
Por ejemplo:
CREATE SQL VIEW Sueldos AS SELECT a.codigo,a.nombre,sum(b.sueldo) FROM empleado a,pagos b GROUP BY a.codigo
Ese comando lo ejecutarás sólo para crear la vista en tu base de datos. De ahí podrás tomarla para colocarla en tu Entorno de Datos, y luego al grid.
La expresión para crear tu vista es:
CREATE SQL VIEW tuVista AS <TuExpresiónSELECT-SQL>
Por ejemplo:
CREATE SQL VIEW Sueldos AS SELECT a.codigo,a.nombre,sum(b.sueldo) FROM empleado a,pagos b GROUP BY a.codigo
Ese comando lo ejecutarás sólo para crear la vista en tu base de datos. De ahí podrás tomarla para colocarla en tu Entorno de Datos, y luego al grid.
Disculpa que no haya seguido tus indicaciones al pie de la letra, pero sucede que tengo algo de prisa, necesito conseguir el código que me permita cargar e imprimir una imagen en entorno DOS con Fox Pro
Para imprimir una imagen, desde Fox, puedes valerte del parámetro /P de Paint, de la siguiente manera:
!C:ARCHIV~1ACCESO~1MSPAINT /P <Archivo_imagen>
Puedes cargar la imagen en un programa manejador de imágenes, como Paint o PhotoEditor, llamándolo desde Fox:
!C:ARCHIV~1ACCESO~1MSPAINT <Archivo_imagen>
!C:ARCHIV~1ACCESO~1MSPAINT /P <Archivo_imagen>
Puedes cargar la imagen en un programa manejador de imágenes, como Paint o PhotoEditor, llamándolo desde Fox:
!C:ARCHIV~1ACCESO~1MSPAINT <Archivo_imagen>
HOLA MANUEL:
MIRA, SOY NUEVO PROGRAMANDO Y NECESITO DE TU AYUDA. ESTOY PROBANDO EN HACER UN SISTEMITA DE GESTION DE PERSONAL Y LA VERDAD ES Q NO TENGO MUCHA IDEA DE COMO HACER UN ARCHIVO Q ME GUARDE LOS DATOS DE ANTECEDENTES LABORALES DE UNA PERSONA. HE PUESTO EN LA TABLA DE ANTECEDENTES UN CAMPO DE NOMBRE HISTORICO PERO COMO HAGO PARA QUE AL INGRESAR UN NUEVO ANTECEDENTE DE UNA PERSONA EN PARTICUALR, ESTE SE PONGA EN FALSO PARA EL ANTECEDENTE ANTERIOR Y EN VERDADERO PARA EL NUEVO? SE Q DEBE SER UNA TONTERA PERO COMO TE DIJE SOY UN IMPROVISADO EN ESTO. DESDE YA MUCHAS GRACIAS!!! EDUARDO
MIRA, SOY NUEVO PROGRAMANDO Y NECESITO DE TU AYUDA. ESTOY PROBANDO EN HACER UN SISTEMITA DE GESTION DE PERSONAL Y LA VERDAD ES Q NO TENGO MUCHA IDEA DE COMO HACER UN ARCHIVO Q ME GUARDE LOS DATOS DE ANTECEDENTES LABORALES DE UNA PERSONA. HE PUESTO EN LA TABLA DE ANTECEDENTES UN CAMPO DE NOMBRE HISTORICO PERO COMO HAGO PARA QUE AL INGRESAR UN NUEVO ANTECEDENTE DE UNA PERSONA EN PARTICUALR, ESTE SE PONGA EN FALSO PARA EL ANTECEDENTE ANTERIOR Y EN VERDADERO PARA EL NUEVO? SE Q DEBE SER UNA TONTERA PERO COMO TE DIJE SOY UN IMPROVISADO EN ESTO. DESDE YA MUCHAS GRACIAS!!! EDUARDO
Puedes poner en tu tabla de Antecedentes, además del campo Histórico, otro campo que se llame Activo de tipo lógico.
Y cuando ingreses un nuevo antecedente, buscas el registro donde activo=.t., y le haces un REPLACE ACTIVO WITH .F. para que te lo desactive, y al nuevo, le pones .T.
Y cuando ingreses un nuevo antecedente, buscas el registro donde activo=.t., y le haces un REPLACE ACTIVO WITH .F. para que te lo desactive, y al nuevo, le pones .T.
Hola manuel, tengo la siguiente situación:
Resulta que tengo VFP6 & Windows Xp, & ya tengo mi proyect listo para generar el ejecutable, pero al intentarlo, est lo genera pero es inservible, inmediatamente de que lo ejecuto, parece verse el primer formulario de entrada & después se cierra todo. Ya me habian dicho que le copiara las DLL VFP6ENU.DLL, VFP6RENU.DLL, y VFP6R.DLL & aun asi, ya recompilndolo todo, etc. sigue sin servir el programa, & ya he intentado esto tanto en máquinas sin VFP & máquinas con VFP, nota: Recuerda q el SO es Win Xp.
Gracias de antemano, espero puedas ayudarme.
Resulta que tengo VFP6 & Windows Xp, & ya tengo mi proyect listo para generar el ejecutable, pero al intentarlo, est lo genera pero es inservible, inmediatamente de que lo ejecuto, parece verse el primer formulario de entrada & después se cierra todo. Ya me habian dicho que le copiara las DLL VFP6ENU.DLL, VFP6RENU.DLL, y VFP6R.DLL & aun asi, ya recompilndolo todo, etc. sigue sin servir el programa, & ya he intentado esto tanto en máquinas sin VFP & máquinas con VFP, nota: Recuerda q el SO es Win Xp.
Gracias de antemano, espero puedas ayudarme.
Buenas Manuel espero que me puedas ayudar, estoy haciendo una aplicación en VFP6 y no consigo que al ejecutarlo me muestre las etiquetas para poder escribirlas e imprimirlas, ya no se como indicar el codigo en el menú para poder ejecutarlas.
Saludos y muchas gracias.
Saludos y muchas gracias.
Las Etiquetas trabajan en forma similar a los Informes. Así:
Para crearlas: CREATE LABEL MiEtiq.Lbx
Para modificarlas: MODIFY LABEL MiEtiq.Lbx
Para Vista previa: LABEL FORM MiEtiq.Lbx Preview
Para crearlas: CREATE LABEL MiEtiq.Lbx
Para modificarlas: MODIFY LABEL MiEtiq.Lbx
Para Vista previa: LABEL FORM MiEtiq.Lbx Preview
Hola como estas, espero que bien, sabes tengo un problemita, cuando entro a un formulario, puedo accesar el menu, dime hay alguna forma de desactivar el menu cuando entro a un formulario, y cuando salgo volver activarlo.
Gracias
Llule
Gracias
Llule
1. En el Load() del formulario o en el Init(), puedes poner así:
SET SYSMENU TO
2. En el Unload(), puedes hacer nuevamente un
DO TuMenu.MPR
SET SYSMENU TO
2. En el Unload(), puedes hacer nuevamente un
DO TuMenu.MPR
Hola en un sistema de fox para DOS me ocurrio el siguiente error despues de mandar una impresion que nunca se imprimio por lo que tuve que reiniciar abruptamente el equipo:
INDEX DOES NOT MATCH DATABASE FILE. RECREATE INDEX C:/PROGRAMA/ARCHIVO.FXP EN LINEA 54
¿Cómo podría solucionar este error? Es un fox viejísimo creo que 1.02???
INDEX DOES NOT MATCH DATABASE FILE. RECREATE INDEX C:/PROGRAMA/ARCHIVO.FXP EN LINEA 54
¿Cómo podría solucionar este error? Es un fox viejísimo creo que 1.02???
Ese error indica que está dañado el archivo CDX de la tabla que intentas abrir. Haz esto:
1. Revisa en tu ARCHIVO.PRG cuál es la TABLA que se está invocando.
2. Recuerda o busca, y anota cuáles son las etiquetas de índice de la tabla. Las hechas con INDEX ON campo TAG etiqueta.
3. Vé al Explorador de Windows, y busca el TABLA.CDX, tiene el mismo nombre que la tabla, pero con extensión CDX.
4. Borra el ARCHIVO.CDX
5. Vé a Fox y pon en uso la tabla: USE TABLA. Te dirá que no halla el Structural CDX. Dale <Ignore>.
6. Genera las etiquetas que tenías con INDEX ON campo TAG etiqueta
7. Dale un REINDEX y listo.
1. Revisa en tu ARCHIVO.PRG cuál es la TABLA que se está invocando.
2. Recuerda o busca, y anota cuáles son las etiquetas de índice de la tabla. Las hechas con INDEX ON campo TAG etiqueta.
3. Vé al Explorador de Windows, y busca el TABLA.CDX, tiene el mismo nombre que la tabla, pero con extensión CDX.
4. Borra el ARCHIVO.CDX
5. Vé a Fox y pon en uso la tabla: USE TABLA. Te dirá que no halla el Structural CDX. Dale <Ignore>.
6. Genera las etiquetas que tenías con INDEX ON campo TAG etiqueta
7. Dale un REINDEX y listo.
(P1) Gracias, Manuel. Tengo un formulario con grids y combos en VFP6, pero a veces cuando estoy trabajando, me marca el error "Incompatibilidad entre el tipo de operador y el tipo de operando". El problema es que al ver en el "depurador", el error está en la línea de "thisform.refresh". ¿Qué puede ser?
Generalmente, ese mensaje aparece cuando VFP coloca los datos en el grid. Revisa los "SET FILTER" que hayas hecho. Puede ser que haya una expresión no válida al comparar dos valores, especialmente revisa que no hayas puesto THIS.VALUE al filtrar en algún combo o caja de texto. Mejor hazlo así: SET FILTER TO TuCampo=Thisform.TuControl.Value
Manuel feliz día, tengo un aplicativo VisualFox 6.0 al tratar de ejecutar el archivo.exe devulve el mensaje "Archivo.Exe no es un aplicativo Win32 Valida", que puedo hacer. le agradezco si me puede colaborar, un amigo Miguel Angel
A menudo, el problema surge cuando en el proyecto se ha colocado información referente a la versión. En el proyecto, haz clic en "Generar..." y luego al botón "Versión". Quítale la información que hayas puesto y prueba de nuevo generando y ejecutando tu Archivo.EXE
Puedes instalar CutePDF y a la hora de imprimir, lo eliges como si fuera un impresor. No imprime, sino que pedirá un nombre de archivo para el nuevo PDF.
Revisa estos enlaces:
http://www.cutepdf.com/
http://www.ayuda-internet.net/tutoriales/manu-convertpdf/manu-convertpdf.html
Revisa estos enlaces:
http://www.cutepdf.com/
http://www.ayuda-internet.net/tutoriales/manu-convertpdf/manu-convertpdf.html
Hola. Quiero saber como hago para que, al ejecutar FoxPro2 en Windows XP no sea necesario cambiar el teclado a Inglés. Quisiera poder tener mi teclado en idioma inglés siempre. Desde ya muchas gracias
Hola estimado co-listero.
De antemano gracias por tu cordial + desinteresada atención.
Te comento que me ha aparecido el error 1548
(table "alias" has one or more non-structural indexes open) al momento de ejecutar la siguiente instrucción
REMOVE TABLE MiTabla DELETE.
Este error lo posteé en el foro hoy 20 de Julio de 2005, si quieres puedes mirarlo.
Cualquier colaboración será de gran ayuda.
Saludos.
De antemano gracias por tu cordial + desinteresada atención.
Te comento que me ha aparecido el error 1548
(table "alias" has one or more non-structural indexes open) al momento de ejecutar la siguiente instrucción
REMOVE TABLE MiTabla DELETE.
Este error lo posteé en el foro hoy 20 de Julio de 2005, si quieres puedes mirarlo.
Cualquier colaboración será de gran ayuda.
Saludos.
Al parecer, la tabla que intentas remover de la base de datos, con REMOVE TABLE tiene algún índice abierto, por lo que no es posible eliminarla. No sé si ciertamente estás usando archivos .IDX
Lo que puedes hacer es cerrar los índices abiertos antes de ese renglón, o asegurarte que la tabla no está abierta en ese momento. Así:
SET INDEX
REMOVE TABLE TuTabla DELETE
Lo que puedes hacer es cerrar los índices abiertos antes de ese renglón, o asegurarte que la tabla no está abierta en ese momento. Así:
SET INDEX
REMOVE TABLE TuTabla DELETE
Hola a todos chicos. Excelente foro. Los felicito.
Manuel, talves puedas ayudarme en algo, porfavor. Tengo un programita en Foxpro 2.5, al cual quiero agregar el comando CALCULATE MAX(campo), pero al compilar me arroja el sgte error "unrecognized command verb". Creo que debe ser porque me falta una librería, pero la verdad no se cual es.
Si alguien tiene alguna respuesta para mi consulta, se lo agradeceré muchisimo ya que no quiero hacer una lectura secuencial.
Gracias que tegan un buen dia.
Manuel, talves puedas ayudarme en algo, porfavor. Tengo un programita en Foxpro 2.5, al cual quiero agregar el comando CALCULATE MAX(campo), pero al compilar me arroja el sgte error "unrecognized command verb". Creo que debe ser porque me falta una librería, pero la verdad no se cual es.
Si alguien tiene alguna respuesta para mi consulta, se lo agradeceré muchisimo ya que no quiero hacer una lectura secuencial.
Gracias que tegan un buen dia.
hola que tal :
Tengo un gran problema estoy realizando un sistema de base de datos en mysql 5.0 con fox pro 6.0 este ultimo para las pantallas de usuario. Para ser sincero soy muy nuevo en este ambiente y de lo que me han pedido llevo un 50% del proyecto pero me falta lo mas importante :
A la hora de hacer las consultas , al buscar a un cliente por su id. me tiene que desplegar en pantalla la demas informacion que tiene la base de dato de ese registro o solo lo que nos intereze , yo no se hacerlo, lo otro es que mi sistema de base de datos tiene que ser distribuido , no se como empezar esto en fox pro, tambien como requisito me pide que cuando dos usuarios realizen una misma transaccion identica, la transaccion que primero llegue se ascepte y la segunda en entrar serechaze, como por ej. un ingreso de un cliente , lo otro seria realizar una bitacora con el nombre y el tipo de usuario que ingreso y la fecha en que lo hizo y que transaccion realizo.
Ya he buscado en tutoriales pero no encuentro lo que busco exactamene. Agradeceria si me pudieran ayudar sileen esto o me digan de una pagina o un tutorial donde se enseñe esto mas detalladamente . agradesco de antemano su atencion y pronta respuesta.
Tengo un gran problema estoy realizando un sistema de base de datos en mysql 5.0 con fox pro 6.0 este ultimo para las pantallas de usuario. Para ser sincero soy muy nuevo en este ambiente y de lo que me han pedido llevo un 50% del proyecto pero me falta lo mas importante :
A la hora de hacer las consultas , al buscar a un cliente por su id. me tiene que desplegar en pantalla la demas informacion que tiene la base de dato de ese registro o solo lo que nos intereze , yo no se hacerlo, lo otro es que mi sistema de base de datos tiene que ser distribuido , no se como empezar esto en fox pro, tambien como requisito me pide que cuando dos usuarios realizen una misma transaccion identica, la transaccion que primero llegue se ascepte y la segunda en entrar serechaze, como por ej. un ingreso de un cliente , lo otro seria realizar una bitacora con el nombre y el tipo de usuario que ingreso y la fecha en que lo hizo y que transaccion realizo.
Ya he buscado en tutoriales pero no encuentro lo que busco exactamene. Agradeceria si me pudieran ayudar sileen esto o me digan de una pagina o un tutorial donde se enseñe esto mas detalladamente . agradesco de antemano su atencion y pronta respuesta.
Hola Manuel. el problema en que estoy, es que no he encontrado la manera de imprimir a un puerto Usb Desde FPD 2.6, en xp, cuando la computadora no esta conectada en red, ya que es un equipo portatiL y la impresora se encuentra situada en el equipo, ya intente con "Net Use " , con "Type Archivo.txt >Nombre de el recurso ", y otras.. Te agradeceria bastante si me dieses una solucion al respecto... Gracias
disculpa tu quieres hacer un boton llamado imprimir yo tengo un script pero necesito saber si se trata de un boton
DISCULPA TENGO UNA PREGUNTA:
¿COMO PUEDO HACER UNA CONSULTA SQL DE UNA TABLA Y ENVIAR EL RESULTADO DE ESTA CONSULTA A UN INFORME TODO DESDE UN FORMULARIO?
DE ANTEMANO GRACIAS POR LA AYUDA
¿COMO PUEDO HACER UNA CONSULTA SQL DE UNA TABLA Y ENVIAR EL RESULTADO DE ESTA CONSULTA A UN INFORME TODO DESDE UN FORMULARIO?
DE ANTEMANO GRACIAS POR LA AYUDA
Que tal Manuel, por favor puedes decirme si en VFP6.0, existe alguna forma de crear archivos .xml, lo que pasa es que debo enviar algunos datos en este formato y trabajo con el VFP6.0, de antemano gracias por tu respuesta
MANUEL: GRACIAS POR TU AYUDA. AHORA TENGO OTRO PROBLEMA: CUANDO EJECUTO EL .EXE DE MI APLICACION ME APARECE EL ERROR "INVALID BUFFDIRTY CALL". HE BUSCADO EN LA WEB Y VEO QUE TIENE QUE VER CON TABLAS QUE SE CORROMPIERON, SIN EMBARGO LA INFORMACION ES POCA Y NO SE CUAL SERIA LA MEJOR FORMA DE RECUPERARME DE ESE ERROR.
CUALQUIER DATO ME SERA DE UTILIDAD.
MUCHAS GRACIAS.
CUALQUIER DATO ME SERA DE UTILIDAD.
MUCHAS GRACIAS.
hola, tengo que capturar datos de unos libros de excel que contienen
varias paginas cada uno. mi pregunta es la siguiente: ¿como puedo moverme entre
las distintas paginas del libro si no se como se llaman? ¿como se si he llegado
a la ultima pagina del libro? ¿como hago para situarme en la primera? muchas
gracias
varias paginas cada uno. mi pregunta es la siguiente: ¿como puedo moverme entre
las distintas paginas del libro si no se como se llaman? ¿como se si he llegado
a la ultima pagina del libro? ¿como hago para situarme en la primera? muchas
gracias
Manuel:
Necesito imprimir desde una aplicación foxpro 2.6A para D.O.S. en una impresora USB. Mi plataforma es bajo windows y ejecuto la aplicación desde el escritorio de windows. Con los ejemplos que vi en el foro no lo pude solucionar, tengo conflicto sobre todo para usar el net use, ademas la printer no está remota, la uso localmente. Desde ya muchas gracias y muy buen foro
Necesito imprimir desde una aplicación foxpro 2.6A para D.O.S. en una impresora USB. Mi plataforma es bajo windows y ejecuto la aplicación desde el escritorio de windows. Con los ejemplos que vi en el foro no lo pude solucionar, tengo conflicto sobre todo para usar el net use, ademas la printer no está remota, la uso localmente. Desde ya muchas gracias y muy buen foro
Deseo ordenar por fecha pero me pone todos los días 1/mes/año aunque sean de otro mes, y luego los días 2/mes/año con meses revueltos. ¿Qué puedo hacer?
Cuando uso LOG(5) me da el resultado de ln(5), ¿cómo puedo tener el Log(5) base 10?
Tengo una aplicacion que genera reportes de ventas y a veces el monto total se queda solo en la última página, quisiera que el usuaro pudiera modificar los margenes del reporte o en todo caso ajutar la escala para que no ocurra este error, ¿me puedes ayudar?
como puedo obener un reporte con informacion de 2 tablas diferentes, los campos en comun son fecha y cantidad, tengo el siguiente select y me muestra los datos de la fecha que pido pero me los muestra repetidos 3 veces cada uno , me puedes ayudar
dia=thisform.text1.value
select tabla_rex.folioauto,tabla_rex.semestre,tabla_rex.proveedor,tabla_rex.fentrada,tabla_rex.cantentra,remision.rf,remision.fentrada,remision.cantentra from tabla_rex inner join remision.fentrada on tabla_rex.fentrada = remision.fentrada where tabla_rex.fentrada=dia
dia=thisform.text1.value
select tabla_rex.folioauto,tabla_rex.semestre,tabla_rex.proveedor,tabla_rex.fentrada,tabla_rex.cantentra,remision.rf,remision.fentrada,remision.cantentra from tabla_rex inner join remision.fentrada on tabla_rex.fentrada = remision.fentrada where tabla_rex.fentrada=dia
1. Verifica que en el entorno de datos del reporte no tengas tablas, pues los registros que necesitas están en el cursor que generas.
2. Prueba poniendo las condiciones sólo en el WHERE e inmediatamente después de enviarlo a cursor llamas el informe. Algo así:
SELE <...> FROM tabla_rex,remision WHER tabla_rex.fentrada=remision.fentrada AND tabla_rex.fentrada=dia INTO CURS X
REPO FORM <...> PREV
3. Espero que te resulte.
2. Prueba poniendo las condiciones sólo en el WHERE e inmediatamente después de enviarlo a cursor llamas el informe. Algo así:
SELE <...> FROM tabla_rex,remision WHER tabla_rex.fentrada=remision.fentrada AND tabla_rex.fentrada=dia INTO CURS X
REPO FORM <...> PREV
3. Espero que te resulte.
Hola... cómo puedo poner un mensaje personalizado en la Barra de estado... otra, cómo hago para mostrarla u ocultarla.
