No borra el registro...

Post Reply
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

No borra el registro...

Post by Elias Torres »

Hola a todos. Perdonad por tantas preguntas pero a medida que se va avanzando surgen más dudas....
Resulta que pretendo seleccionar de una lista un registro para borrarlo, pero no lo hace... El código que utilizo es este por si alguien ve algún error...

LOCAL odlg,nKey,oSay,obtn,ofont
Local cSearch := ""
LOCAL nrecno:=0
LOCAL hBmp := ReadBitmap( CurDir() + "\go.bmp" )

HideKeyboard()
DEFINE dialog odlg resource "sele_cli"
redefine LISTBOX oBrw ;
FIELDS hBmp, clientes->Nomcli, clientes->Apecli;
HEADERS "","Nombre", "Apellidos" ID 500 OF oDlg
REDEFINE BUTTON ID 100 OF oDlg ACTION oDlg:End()
REDEFINE BUTTON ID 110 OF oDlg ACTION ( nRecno := Clientes->( Recno() ) , Clientes->(dbDelete()),oDlg:End() )
obrw:bKeyChar = { | nKey, nFlags | Search( nKey, @cSearch ),oBrw:Refresh(),oSay:REFRESH()}
redefine say oSay prompt cSearch id 130 of odlg
ACTIVATE dialog odlg;
on init odlg:setfocus()


Saludos y gracias..

Elías Torres.
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Post by Carles »

Elias,

Tal como lo haces esta bien, (si lo que quieres es simplemente borrar el registro) pero:

1.- Los registros no se borran fisicamente, sino que quedan marcados para cuando realizes posteriormente un Pack(). Si lo que quieres es que tu sistema no te muestre los registros marcados, debes especificar el comando SET DELETED ON. Esto hara q tu aplicacion ignore los registros que estan marcados.

2.- Puedes testear facilmente poniendo:

Code: Select all

...
SET DELETED ON
...
REDEFINE BUTTON ID 110 OF oDlg ACTION ( Clientes->(dbDelete()), oBrw:Refresh() ) 
...
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Post by Elias Torres »

Gracias Carles...

Efectivamente necesitaba poner el Set Deleted on para que no me mostrara los registros borrados.. (que despiste!) :lol:

Saludos.

Elías Torres
Post Reply