PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 24 → Borrar Datos
Borrar Datos
Started by Daniel, Dec., 05 2019 1:55 AM - 2 replies
Posted on December, 05 2019 - 1:55 AM
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...
Registered member
333 messages
Posted on December, 07 2019 - 2:55 PM
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
Posted on December, 07 2019 - 11:16 PM
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...