FoxPro/Visual FoxPro - Set Relation

 
Vista:
sin imagen de perfil

Set Relation

Publicado por Ruben Antunes (3 intervenciones) el 05/09/2008 17:34:03
Hola: los molesto por lo siguiente; estoy tratando de mostrar una grilla con dos campos cuyos datos se relacionan

Tabla1
Campos: Claveasig
ASIGNATURA

Tabla 2
Campos: Claveasig
Correlativa

Mi idea es mostrar una grilla que liste:
Tabla2.Correlativa, Tabla1.ASIGNATURA

para ello coloque lo siguiente:
SELECT Tabla1
SET ORDER TO 1 &&Indice ordenado por Claveasig

SELECT Tabla2
SET ORDER TO 1 &&Indice ordenado por Claveasig

GO TOP
SET RELATION TO Tabla2.Correlativa INTO Tabla1

pero no me anda... si alguien del grupo tiene algun ejemplo para poder leer y entender esto lo agradezco. Con CLIPPER lo hacia asi y andaba bien, pero con VFOX me esta costando. Mil gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Set Relation

Publicado por enrique (1041 intervenciones) el 05/09/2008 21:03:42
si tienes indices CDX

USE TABLA1 IN 0
USE TABLA2 IN 0

SET ORDER TO 1 IN TABLA1
SET ORDER TO 1 IN TABLA2

SET RELATION TO TABLA2.CLAVEASIG INTO TABLA1 IN TABLA2

todo esta en la ayuda(MSDN) del VFP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Set Relation

Publicado por Mauricio (1541 intervenciones) el 06/09/2008 20:21:42
En el EVENTO LOAD:
USE Tabla1 IN 0 ORDER 1
USE Tabla2 IN 0 ORDER 1
SELE Tabla1
SET RELATION TO Tabla1 INTO Tabla2 ADDI
Esto te funcionara!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Set Relation

Publicado por Ruben Antunes (3 intervenciones) el 12/09/2008 02:36:03
No se porque no anda... he intentado lo que me han dicho y en realidad la columna 1 de la grilla (en el que muestro el campo Tabla2.CORRELATIVA) si se refresca, pero la columna2 en la que muestro el campo TABLA1.ASIGNATURA no me muestra siempre el mismo campo, he estado buscando la solucion respecto al tema y en algunos lugares me hace referencia al comando SET SKIP, pero no logro entenderlo porque nunca se me habia presentado este problema. Les comento que desde hace poco he empezado a programar en VFP. Gracias... y agradeceria si alguien tiene un ejemplo de GRID con datos relacionados para verlo como ejemplo.

Saludos
Ruben
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Set Relation

Publicado por enrique (1041 intervenciones) el 12/09/2008 18:42:25
prueba los siguiente en la linea de comandos:

USE TABLA1 IN 0
USE TABLA2 IN 0

SET ORDER TO 1 IN TABLA1
SET ORDER TO 1 IN TABLA2

SET RELATION TO TABLA2.CLAVEASIG INTO TABLA1 IN TABLA2

sele tabla1
brow

sele tabla2
brow

luego ajustas las pantallas de los browse para que se vean ambos al mismo tiempo y te posicionas en el browse de la tabla2, a medida que avances con el cursor se ira modificando el browse de la tabla1.
Si los resultados son los correctos entonces lo que te muestra en el grid esta bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha disminuido su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Set Relation

Publicado por Luis Carvajal (5 intervenciones) el 04/03/2019 00:41:55
Eso funciona para mi cuando son tablas, cuando son cursores no porque estos se crean en tiempo de ejecución, estos cursores se llenan con Vistas y Funciones obtenidas de BD postgresql o Mysql de ahi se emite el reporte

Mi pregunta es como relaciono los 2 cursores
un cursor para el encabezado y el otro sería el detalle, los cuales tendrían un campo clave para relacionarlos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Set Relation

Publicado por Leonardo Daniel A. (499 intervenciones) el 04/03/2019 01:43:40
Hola ... el set relation solo lo usaba cuando necesitaba mostrar un maestro-detalle por ejemplo los datos de encabezado de una factura y el detalle de la misma... si lo que buscas es mostrar datos tipo BROWSE porque no te ahorras todo ese codigo y hacer un SELECT SQL y lo guardas en un cursor (dbf temporal) o un DBF fisico con "INTO DBF", aunque el cursor tambien le puedes crear indices, incluso modificar datos si agregas la clausula READWRITE despues del nombre del cursor


1
2
3
SELECT Tabla2.Correlativa, Tabla1.ASIGNATURA ;
      FROM Tabla1, Tabla2 WHERE Tabla1.ASIGNATURA = Tabla2.Correlativa ;
         INTO CURSOR tmpDatos

o usando Inner join

1
2
3
4
SELECT Tabla2.Correlativa, Tabla1.ASIGNATURA  ;
      FROM Tabla1 ;
   INNTER JOIN Tabla2 ON Tabla2.ASIGNATURA = Tabla1.Correlativa ;
        INTO CURSOR tmpDatos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 10
Ha disminuido su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Set Relation

Publicado por Luis (5 intervenciones) el 05/03/2019 16:41:37
Así lo hice amigo muchísimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar