Page 1 of 1

Archivos Eliminados

Posted: Tue Jun 16, 2009 10:25 pm
by yadira
Tengo una duda:
si tengo por ejemplo
Select 1
Use Ejemplo ALIAS aEjemplo SHARED

TWBrowse():lHScroll:= .F.

@ 2.5, .5 LISTBOX oLbx FIELDS Dtoc(aEjemplo->Fecha), aEjemplo->Nombre ;
HEADERS " Fecha", " Cliente";
FIELDSIZES 75, 65,75,65,400;
SIZE 615, 200 OF oWnd ;


oLbx:bkeydown:={|nKey,nFlag|DOKEY1(nKey,nFlag,oLbx)}
oLbx:nClrpane = { || SelColor( RECNO() ) }
oLbx:nLineStyle = 1
oLbx:aJustify = { 0, 0, 0, 0 }
oLbx:Setfocus()


METHOD FUNCTION DOKEY1(nKey,nFlag,oLbx)
local cKEY, nSeekrec, ckey2
local nRecNo8 := RecNo()

DO CASE
CASE nKEY == VK_RETURN
cTitle:="Modificacion y Consulta "
Alta2 (1,oLbx)
CASE nKEY == VK_INSERT
cTitle:="Alta de Clientes"
Alta2(2,oLbx)
CASE nKEY == VK_DELETE
if MsgYesNo( OemToAnsi( "Atenci¢n:" ) + CRLF + ;
OemToAnsi( "¨ Est  seguro de " + ;
"querer borrar este Cliente ?" ) + CRLF + CRLF + ;
OemToAnsi( str(aEjemplo->Nombre) ) )

go nrecno8
If Bloqreg(5)
DELETE
Endif
UNLOCK
oLbx:Upstable()
oLbx:Refresh()

ENDCASE
RETURN NIL


FUNCTION BLOQREG
PARAMETERS ESPERA
PRIVATE PARA
IF LOCK()
RETURN(.T.)
ENDIF
PARA = (ESPERA= 0)
DO WHILE (PARA .OR. ESPERA > 0)
IF LOCK()
RETURN(.T.)
ENDIF
INKEY(.5)
ESPERA = ESPERA-.5
ENDDO
RETURN(.F.)
****************************************************************

despues de borrar un registro no, lo quita del listbox, se queda aunque no permite seleccionarlos, es decir si lo marca pero como si no actualizara el listbox,
algo estoy haciendo mal sin duda, alguna idea ???
saludos :roll:

Re: Archivos Eliminados

Posted: Sat Jun 27, 2009 6:01 am
by Antonio Linares
En la claúsula del índice que uses, añade ... FOR ! Deleted()

Re: Archivos Eliminados

Posted: Mon Jul 06, 2009 10:10 pm
by yadira
Gracias antonio, solo algo mas, no uso indice :cry: , tendre que hacer uno ???,
saludos

Re: Archivos Eliminados

Posted: Mon Jul 13, 2009 6:46 pm
by yadira
Hola a todos

no se si estoy usando alguna clase equivocada pero no consigo hacer q se "refresque" correctamente el listbox de la base de datos, si uso la clase nativa de windows si lo elimina...
alguna idea o algun ejemplo para usar la clase de hernan en dbf ? o alguna clase que me recomienden para consultar y eliminar registros de una dbf -???? :oops:

Re: Archivos Eliminados

Posted: Tue Jul 14, 2009 4:20 am
by LuisPonce
Yadi

Yo utilizo esta funcion y me resulta ok, utilizo el FW 2.4 y en este caso el Listbox nativo, debe funcionar igual con los otros browses


Function DelItem( oLbx,cVersion )
LOCAL cCodItm:=Items->CODITM
LOCAL lResultado:=.F.

IF Acceso()"

// Movimiento del Almacen

USE BASEALM NEW SHARED Alias Almacen
Almacen->(OrdSetFocus(2))

IF (Almacen->( DbSeek(cCodItm)))
WHILE !Almacen->( EOF())
IF Almacen->ENTITM=cCodItm
IF Almacen->(RLock())
Almacen->(DbDelete())
lResultado:=.T.
ENDIF
ENDIF
Almacen->(DbSkip())
END
ENDIF

Almacen->(DbCloseArea())

SysRefresh()

oLbx:Refresh() // Repintamos el ListBox

ENDIF

Return lResultado


Saludos

Re: Archivos Eliminados

Posted: Tue Jul 14, 2009 6:20 pm
by yadira
Gracias Luis

Realmente estoy desesperada, uso la clase twbrowse 2.1 , el caso es que no puedo hacer q se refresque el listbox del ejemplo de arriba, aun creando un indice y poniendo la clausala que menciono el maestro Linares.

Es un listbox conteniendo registros de una base de datos el cual no esta indexado, al seleccionar un boton de "borrar", despues de la confirmacion lo debe borrar, pero no lo hace, solo lo marca, deje de usar la clase nativa de five para darle mejor apariencia al browse (dos colores por ejemplo), pero me encontre con este problema, alguna sugerencia o alguna clase que facilite esto, uso indices ntx,..........gracias :cry: :(

Re: Archivos Eliminados

Posted: Tue Jul 14, 2009 7:26 pm
by Armando
Yadira:

Si no usas índices, se me ocurre que uses un filtro para eliminar los registros eliminados y despues refrescas el browse.

Saludos

Re: Archivos Eliminados

Posted: Sat Aug 01, 2009 9:36 pm
by yadira
Hola de nuevo:

No lo van a creer, pero tenia una "fiesta" en el build.lnk y el build.bat que creo que confundian el browse, despues de analizar su valiosa ayuda, !! ya trabaja correctamente!! :lol: