FoxPro/Visual FoxPro - Relaciones

 
Vista:
sin imagen de perfil

Relaciones

Publicado por Carlos (49 intervenciones) el 09/12/2006 16:54:30
Hola, estoy intentando establecer unas relaciones y me aparece un error al ejecutar mi aplicación que dice "...La tabla destino ya se usa en una relación..." pero la verdad no entiendo el por qué del error porque en ningun momento establezco mas de una relación en diferentes origenes y destinos. A continuación envío el código en el que estoy estableciendo dichas relaciones e indico mas abajo la línea en la que me da el error:

local comprobante
local lcletra
set relation to
sele recibos
set order to rec_codi
sele recibos_facturas
set order to recfac_cod
sele recibos_pagos
set order to recpag_cod
sele bancos
set order to ban_codi
sele tipospago
set order to tippag_cod
sele facturas
set order to fac_codi
sele totregis
set order to instancia
go top
set rela to fac_codi into facturas addi
set rela to recpag_codi into recibos_pagos addi
set rela to recfac_codi into recibos_facturas addi
set rela to ban_codi into bancos addi
set rela to tippag_codi into tipospago addi

El error lo da en la siguiente línea: set rela to recfac_codi into recibos_facturas addi

Por favor si alguien se da cuenta de como soluciono mi problema le agradecería me lo informe
Muchas 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:Relaciones

Publicado por Luighi (105 intervenciones) el 10/12/2006 02:02:32
****
local comprobante
local lcletra
set relation to && aquí estás rempiendo las relaciones de qué tabla?
sele recibos
set order to rec_codi
sele recibos_facturas
set order to recfac_cod
sele recibos_pagos
set order to recpag_cod
sele bancos
set order to ban_codi
sele tipospago
set order to tippag_cod
sele facturas
set order to fac_codi
sele totregis && para esta tabla, estás seguro que no hay relaciones activas?
set relation to && yo agregaría esta línea para estar seguro
set order to instancia
go top
set rela to fac_codi into facturas addi
set rela to recpag_codi into recibos_pagos addi
set rela to recfac_codi into recibos_facturas addi && leer más abajo
set rela to ban_codi into bancos addi
set rela to tippag_codi into tipospago addi
****
la razón por la cual te aparece ese error es porque sí, ya existe una relación para la tabla recibos_facturas y pues, al poner additive, no se puede agregar
en el código que pones no queda implícito que las relaciones para la tabla totregis estén liberadas y lo mejor es seleccionar esa tabla y hacer set relation to
pero quizás tengas relaciones activas en la tabla totregis y sólamente deseas agregar relaciones tal y como lo especificas, ante ello entonces debes estar seguro si ya creaste una relación con la tabla recibos_facturas
una línea antes del error escribe estos dos comandos:
set
suspend
y así podrás ver las relaciones existentes y estar seguro del error
luego cierras la ventana set
y en la ventana de comandos ahora escribes:
resume
y continúas normalmente con la ejecución del programa
****
depurado el error te sugiero escribir:
****
set rela to fac_codi into facturas, ;
...................recpag_codi into recibos_pagos, ;
...................recfac_codi into recibos_facturas, ;
...................ban_codi into bancos, ;
...................tippag_codi into tipospago addi
****
obviamente los puntos no los escribas, los use sólamente para indentar
ahora bien, si éstas son las únicas relaciones temporales para la tabla
la cláusula additive sale sobrando.
saludos.
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