FoxPro/Visual FoxPro - Ayuda por favorPor favor ayudenme a encontrar las

 
Vista:

Ayuda por favorPor favor ayudenme a encontrar las

Publicado por Alba Lucia (27 intervenciones) el 31/03/2007 21:37:57
Por favor ayudenme a encontrar las fallas de este ejemplo: uso un archivo de clientes y quiero ingresar registros validando si existen o no

Procedim Init
Use Clientes
set order to 1
go top
return

Objeto Agregar
Proced Valid
Thisform.txtCodigo.Setfocus
* aca realizo validacion para que no pase un codigo vacio (emty())
buscar=alltrim(thisform.txtCodigo.Value)
seek buscar
if ! found()
M1="No Existe. Lo Ingresara?"
M2=messagebox(M1,1+32,"Agregar Codigo "+buscar)
if M2=1
append blank
scatter memvar
thisform.refresh
insert into clientes from memvar
thisform.txtcodigo.setfocus
endif
else
* mensaje de ya existe intente otro
endif
Notas:Cuando el archivo esta vacio y trato de agregar, todos los campos se me bloquean

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda por favorPor favor ayudenme a encontrar l

Publicado por juan fernando (537 intervenciones) el 31/03/2007 22:23:37
Mira este código es un buscador x la tabla repuestos
va insertado en el evento valid de la text1
si te fijas es un cursor sql en tú caso debes borrar el cursor
** Me puedes escribir si estás atorada **
_____________________________________________________

Set Delete On
cod=Thisform.Pageframe1.Page1.Text1.Value

Select codarticul,nomarticul,xfecha From repuestos WHERE Allt(Codarticul)=Allt(cod) into CURSOR micursor
Sele micursor

If Allt(codarticul)=Allt(cod)
messagebox('Código de Repuesto ** Grabado **',0+64+0,' ADVERTENCIA ')
Thisform.Pageframe1.Page1.Command1.Enabled=.f.
Return=.t.

xnom=nomarticul
xfe=xfecha
Thisform.Pageframe1.Page1.Text2.Value=xnom
Thisform.Pageframe1.Page1.Text3.Value=xfe
else

Thisform.Pageframe1.Page1.Command1.Enabled=.t.

return=.f.
messagebox('Código No ** Grabado **',0+64+0,' ADVERTENCIA ')
Endif

Thisform.Refresh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda por favorPor favor ayudenme a encontrar l

Publicado por Gabriel (112 intervenciones) el 01/04/2007 02:22:18
Hola,
de manera particular yo lo haría así:

*********************************
***objeto form Proc. init****
*********************************
select clientes
set order to 1
scatter memvar
thisform.refresh

*********************************
***objeto nuevo Proc. click****
*********************************
select clientes
scatter memvar
thisform.refresh

*********************************
***objeto grabar Proc. click****
*********************************

select clientes
micodigo=alltrim(thisform.txtcdcliente.value)
seek micodigo
if !found()
append blank
gatther memvar
=messagebox('Registro Grabado',0+64,'thisform.caption')
else
=messagebox('Código ya existe',0+64,'thisform.caption')
return
endif
thisform.refresh

Nota: se supone que em el controlsourse de los txt deben estar enlazados con
m.campo (txtcdcliente debe estar enlazado a m.cdcliente)

bueno espero sea de ayuda.......

te recomiendo trabajar con =tableupdate(.t.) para grabar y =tablerevert(.t.) para cancelar....

hasta pronto....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda por favorPor favor ayudenme a encontrar l

Publicado por Ernesto Hernandez (4623 intervenciones) el 02/04/2007 16:50:19
que es lo que realmente necesitas lograr ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar