Boton elminar y btones de navegacion

Tengo una tabla llamada reg_compras coun indice principal que se llama numauto y este tiene un tipo de dato integer(autoinc) a parte tengo otros campos llamado año c(4), mes c(2) y idcomp n(5,0) en el init del form tengo estas lineas:
index on año+mes+str(idcomp,5,0) to reg_comprasAMN &&Indice año,mes y numero
INDEX ON idcomp TO reg_comprasID ADDITIVE &&Indice del idcomp
index on año to reg_comprasA ADDITIVE &&Indice del año
index on mes to reg_comprasM ADDITIVE &&Indice del mes
INDEX ON nro_reg TO reg_comprasR ADDITIVE &&Indice del nro de registro (nro_reg)
INDEX ON numauto TO reg_comprasN ADDITIVE
set order to reg_comprasA
set order to reg_comprasM
SET ORDER TO reg_comprasN
SET ORDER TO reg_comprasID
thisform.traerdatos
El metodo traerdatos tiene las sisguientes lineas:
*****************
metodo traerdatos
select reg_compras
GO bott
thisform.txtMes.value=reg_compras.mes
thisform.txtAño.Value=reg_compras.año
thisform.txtIdcomp.Value=reg_compras.idcomp
thisform.txtFecha_emision.value=reg_compras.fecha_emision
thisform.txtFecha_venci.value=reg_compras.fecha_venci
thisform.txtNro.value=reg_compras.nro
thisform.txtSerie.value=reg_compras.serie
thisform.txtNro_comprob.value=reg_compras.nro_comprob
thisform.txtCod.value=reg_compras.cod
thisform.txtRuc.value=reg_compras.ruc
thisform.txtBimponible1.value=reg_compras.bimponible1
thisform.txtIgv1.value=reg_compras.igv1
thisform.txtAdqui_no_grav.value=reg_compras.adqui_no_grav
thisform.txtIsc.value=reg_compras.isc
thisform.txtOtros.value=reg_compras.otros
thisform.txtImp_total.value=reg_compras.imp_total
thisform.txtNro_const_dep.value=reg_compras.nro_const_dep
thisform.txtFec_const_dep.value=reg_compras.fec_const_dep
thisform.txtTip_cambio.value=reg_compras.tip_cambio
thisform.txtNro_reg.value=reg_compras.nro_reg
thisform.txtFecha_mod.value=reg_compras.fecha_mod
thisform.txtTipo_comp_mod.value=reg_compras.tipo_comp_mod
thisform.txtSerie_mod.value=reg_compras.serie_mod
thisform.txtNro_comp_orig.value=reg_compras.nro_comp_orig
thisform.Refresh
*****************
Aca biene los problemas, perimero quiero eliminar un registros y no elimina he puesto estas lineas en el boton eliminar:
******
boton elminar
IF BOF() OR EOF()
messagebox("No hay registros para eliminar ...",0,"Advertencia")
ELSE
if messagebox("¿Esta seguro de eliminar el registro?",36,"Confirmación")=6
reg=thisform.txtAño.Value+thisform.txtMes.Value+STR(thisform.txtIdcomp.Value)
use reg_compras EXCLUSIVE
index on año+mes+str(idcomp,5,0) to reg_comprasAMN
SET ORDER TO reg_comprasAMN
SEEK reg
IF FOUND()
DELETE
PACK
Messagebox("El registro fue eliminado ...", 62,"Aviso")
Endif
GO top
if bof()
Go top
Endif
ELSE
GO top
if bof()
Go top
Endif
ENDIF
Endif
Thisform. Refresh
*** Tengo que eliminar este registro indexando por tres campos ya que el campo idcomp tiene numeros repetidos por ejemplo en mi tabla se registran asi:
Mes año idcomp
12 2007 1
01 2008 1
******
Los botones de navegación es otro problema, cada vez que cargo el form y pulso por ejm. En el botón siguiente y si estoy en el ultimo registro debería quedarse en el ultimo registro pero se pasa al registro 2.
****
Botón primero
Go top
Thisform. Refresh
Thisform. Mostrardatos
****
****
boton anterior
if .not. Bof()
skip -1
if bof()
Go top
Endi
Endif
Thisform. Refresh
Thisform. Mostrardatos
****
****
boton siguiente
if .not. Eof()
SKIP
if eof()
Go bott
ENDIF
Endif
Thisform. Mostrardatos
Thisform. Refresh
****
***
Botón ultimo
go bott
thisform.Refresh
thisform.mostrardatos
***
****
metodo mostrardatos
select reg_compras
thisform.txtMes.value=reg_compras.mes
thisform.txtAño.Value=reg_compras.año
thisform.txtIdcomp.Value=reg_compras.idcomp
thisform.txtFecha_emision.value=reg_compras.fecha_emision
thisform.txtFecha_venci.value=reg_compras.fecha_venci
thisform.txtNro.value=reg_compras.nro
thisform.txtSerie.value=reg_compras.serie
thisform.txtNro_comprob.value=reg_compras.nro_comprob
thisform.txtCod.value=reg_compras.cod
thisform.txtRuc.value=reg_compras.ruc
thisform.txtBimponible1.value=reg_compras.bimponible1
thisform.txtIgv1.value=reg_compras.igv1
thisform.txtAdqui_no_grav.value=reg_compras.adqui_no_grav
thisform.txtIsc.value=reg_compras.isc
thisform.txtOtros.value=reg_compras.otros
thisform.txtImp_total.value=reg_compras.imp_total
thisform.txtNro_const_dep.value=reg_compras.nro_const_dep
thisform.txtFec_const_dep.value=reg_compras.fec_const_dep
thisform.txtTip_cambio.value=reg_compras.tip_cambio
thisform.txtNro_reg.value=reg_compras.nro_reg
thisform.txtFecha_mod.value=reg_compras.fecha_mod
thisform.txtTipo_comp_mod.value=reg_compras.tipo_comp_mod
thisform.txtSerie_mod.value=reg_compras.serie_mod
thisform.txtNro_comp_orig.value=reg_compras.nro_comp_orig
thisform.Refresh
****
Ojala y me apoyes a solucionar estos inconvenientes.

1 respuesta

Respuesta
1
Intenta:
Botón eliminar
IF BOF() OR EOF()
messagebox("No hay registros para eliminar ...",0,"Advertencia")
ELSE
if messagebox("¿Esta seguro de eliminar el registro?",36,"Confirmación")=6
use reg_compras EXCLUSIVE
Delete For año == thisform.txtAño.Value .And. ;
mes == thisform.txtMes.Value .And. ;
idcomp == thisform.txtIdcomp.Value
PACK
Endif
Thisform. Refresh
Para los botones de navegación intenta con un índice y verifica que la tabla sobre la que "navegas" sea la principal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas