Manejo de grids en visual fox

Requiero realizar un formulario
Tipo factura. Tengo dos tablas que
He relacionado en el entorno de datos.
La principal la requiero como encabezado
Del formulario y la secundaria como
Detalle en la cuadrícula
La cuadrícula aparece en blanco al intentar visualizar los registros con
Las diferentes opciones:
Envío ejemplo del botón "primer registro"
* Ejemplo del boton "Primer registro"
sele cct && tabla primaria
set order to tag clavect
if reccount()=0 then
wait window "No existen Centros de Trabajo"
endif
scatter memvar memo
go top
sele personal && tabla secundaria
set order to tag clavectp
go top
thisform.grdpersonal.refresh()
thisform.refresh()
¿Qué estoy realizando de manera incorrecta o que me falta hacer?
Agradezco la ayuda.

1 respuesta

Respuesta
1
Discipulus:
Mira, lo que yo hago es lo siguiente:
Creo un Grid (llamémoslo DETALLE) con la cantidad de columnas que voy a mostrar (por ejemplo: 4 columnas -> CÓDIGO, DESCRIPCIÓN, CANTIDAD, PRECIO).
En el método "Init" del formulario, escribo el siguiente código:
* Creo una tabla de memoria temporal. OJO, los campos deben tener el mismo nombre que la tabla PERSONAL.
Yo estoy suponiendo que los campos de la tabla PERSONAL son: CÓDIGO, DESCRIPCIÓN, CANTIDAD, PRECIO
CREATE CURSOR CURDET (CÓDIGO N(5), DESCRIPCIÓN C(50), CANTIDAD N(10), PRECIO N(10,2))
THISFORM.DETALLE.RECORDSOURCE="CURDET"
THISFORM.DETALLE.COLUMN1.CONTROLSOURCE="CURDET.CODIGO"
THISFORM.DETALLE.COLUMN2.CONTROLSOURCE="CURDET.DESCRIPCION"
THISFORM.DETALLE.COLUMN3.CONTROLSOURCE="CURDET.CANTIDAD"
THISFORM.DETALLE.COLUMN4.CONTROLSOURCE="CURDET.PRECIO"
THISFORM.REFRESH
Luego en el Boton "Primer registro", escribo el siguiente codigo:
sele cct && tabla primaria
set order to tag clavect
if reccount()=0 then
wait window "No existen Centros de Trabajo"
else
go top
scatter memvar memo
select * from personal where <condicion> into cursor CURAUX && Donde <condicion> es la condicion por la cual filtras la tabla PERSONAL
select CURAUX
go top
do while not eof()
scatter memvar
select CURDET
Append blank
Gather memvar
select CURAUX
Skip
Enddo
Release CURAUX
Thisform. Refresh
Endif
Saludos
Fernando Alvarez
La Pampa - Argentina
PD: para más detalle te envío un ejemplo, pero necesito tu correo...
Recibí el correo, te agradezco mucho
La ayuda y la prontitud en tus respuestas,
gracias.
Parece que a: [email protected] no tuvo problemas.
A ver fíjate...
¿podrías intentar de favor sin el .mx?
Es decir:
[email protected]
En alguna ocasión me había causado ese
Problema, espero que se resuelva así de nuevo.
O podrías enviarlo a:
[email protected]
Gracias.
Antes que nada gracias por ayudarme.
Mi correo-e es:
[email protected]
Ojalá que puedas enviarme el ejemplo,
y abusando de tu disposición podrías
icluir cómo poder dar de alta registros
Tanto en la tabla principal como en
La secundaria en este mismo formulario.
Gracias por la ayuda.
Te he enviado un correo con lo que pides, pero me lo rebota, como que tu cuenta de yahoo no existe...
Fíjate si esta bien escrita o dame otra cuenta alternativa.

Añade tu respuesta

Haz clic para o