PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 28 → Borrar Datos
Borrar Datos
Débuté par Daniel, 05 déc. 2019 01:55 - 2 réponses
Posté le 05 décembre 2019 - 01:55
Hola hice 4 bases de datos A, B, C, D.
Relacion A 0,1 a 0,N con B. En B pongo en el analisis que A puede borrar B
Relacion A 0,1 a 0,N con C. En C pongo en el analisis que A puede borrar C
Relacion A 0,N a 0,1 con D. Aqui tengo problemas de integridad al no tener datos para borrar.
Pueden darme un ejemplo de como proceder, cundo borro A, borra sin problemas B y C, pero con D tengo problemas ya que la relacion es al reves y necesito que A borre todo.

El codigo seria este.

IF YesNo(0,"Esta seguro de borrar el registro?") = True THEN
HReadSeekFirst(A,A_ID,TABLE_CONS_A.COL_A_ID)
IF HFound = True THEN
HDelete(A) //Aqui borra A,B,C sin problemas
HReadSeekFirst(A,D_ID,TABLE_CONS_A.COL_D_ID)
IF HFound = True THEN
HDelete(D) //Aqui tengo el problema ya que esta realacion es A 0,N a 0,1
Info("El registro se elimino correctamente")
END
END
END
TableDisplay(TABLE_CONS_A,taReExecuteQuery)

Estoy aprendiendo, agradesco cualquier ayuda...
Saludos desde Argentina...
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 07 décembre 2019 - 14:55
Hola. No entiendo muy bien la logica de lo que quieres hacer. Si la relacion de D -> A es del tipo 1 -> N quiere decir que un registro de D puede apuntar a varios registros de A, luego perderias esa relacion con los registros de A que no has borrado.

Por otro lado en el borrado que no te funciona haces HReadSeekFirst(A,D_ID,TABLE_CONS_A.COL_D_ID) donde estas leyendo de nuevo de A (ya no existiria el registro borrado) y luego intentas borrar de D sin haber buscado en D.

Un saludo

Rubén
Posté le 07 décembre 2019 - 23:16
Hola Rubén Sánchez Peña.

Ya solucione.
Si D tenia registro borraba de 10, el problema era si D no tenia registro me daba problema de integridad, faltaba decirle que si no encontraba nada no hiciera nada, ese era mi problema, te agradezco haber contestado.

Saludos...