Programación General > Visual FoxPro
El Seek No Me Esta Funcionando
(1/1)
sleipnir:
Bueno tengo una pequeña aplicacion que sorprendentemente me esta dando dolor de cabeza.
En El Proyecto tengo un contenedor (planilla_de_empleados) con 3 tablas
departamentos => (depto (indice principal))
personal => (depto (indice normal) y identidad (indice principal))
planilla => (identidad (indice normal) y nplan (indice normal))
La tabla de departamentos esta unida a personal por el campo depto y la tabla de personal esta unida a la de planilla por el campo identidad.
Lo que ando buscando es crear un formulario para agregar los departamentos para que de esa forma jalo los datos introducidos desde la tabla depto y no tenga que escribir cada campo en el combobox de depto en el formulario para agregar empleados con la tabla de personal. Este formulario solo tiene un campo (depto).
Lo raro es que tengo 4 botones y en ellos uso el seek para m.depto pero nunca encuentra el registro y siempre ejecuta el append blank y el gather memvar, pero nunca solo el gather memvar. Mire la tabla y me esta guardando el registro la primera vez pero como nunca lo encuentra no lo puedo eliminar.
Este es el codigo
----------------------------------------
Form1.Load
--- Código: Text --- select departamentosscatter memvar blankset order to depto
txtDepto.valid
--- Código: Text --- if empty(m.depto) retu .t.endifif seek(m.depto) scatter memvar thisform.refresh thisform.commandgroup1.command1.enabled=.t. thisform.commandgroup1.command2.enabled=.t. thisform.commandgroup1.command3.enabled=.t. retu .t.else thisform.commandgroup1.command1.enabled=.t. thisform.commandgroup1.command2.enabled=.f. thisform.commandgroup1.command3.enabled=.t. retu .t.endif
txtDepto.Lostfocus
--- Código: Text --- if empty(m.depto) scatter memvar blank thisform.commandgroup1.command1.enabled=.f. thisform.commandgroup1.command2.enabled=.f. thisform.commandgroup1.command3.enabled=.f. thisform.commandgroup1.command4.setfocusendifthisform.refresh
Command1.click Salvar
--- Código: Text --- if seek(m.depto) gather memvarelse append blank gather memvarendifscatter memvar blankthisform.commandgroup1.command1.enabled=.t.thisform.commandgroup1.command2.enabled=.t.thisform.commandgroup1.command3.enabled=.t.thisform.txtdepto.setfocusthisform.refresh
Command2.click Eliminar
--- Código: Text --- if seek(m.depto)deletepackendifscatter memvar blankthisform.commandgroup1.command1.enabled=.t.thisform.commandgroup1.command2.enabled=.t.thisform.commandgroup1.command3.enabled=.t.thisform.txtdepto.setfocusthisform.refresh
Command3.click Cancelar
--- Código: Text --- scatter memvar blankthisform.commandgroup1.command1.enabled=.t.thisform.commandgroup1.command2.enabled=.t.thisform.commandgroup1.command3.enabled=.t.thisform.txtdepto.setfocusthisform.refresh
command4.click Salir
--- Código: Text --- thisform.release
Como ven el formulario no es nada complejo, y me hace pensar que talvez el vfp se haya dañado por alguna razon. Por cierto estoy usand VFP 6.0
arielb:
intenta de esta forma
--- Código: Text ---set order deptoseek(m.depto)if found() scatter memvar thisform.refresh thisform.commandgroup1.command1.enabled=.t. thisform.commandgroup1.command2.enabled=.t. thisform.commandgroup1.command3.enabled=.t. retu .t.else thisform.commandgroup1.command1.enabled=.t. thisform.commandgroup1.command2.enabled=.f. thisform.commandgroup1.command3.enabled=.t. retu .t.endif
Cyclop:
Por que no haces esto
txtDepto.valid
--- Código: Text ---if seek(This.Value) scatter memvar thisform.refresh thisform.commandgroup1.command1.enabled=.t. thisform.commandgroup1.command2.enabled=.t. thisform.commandgroup1.command3.enabled=.t. retu .t.else thisform.commandgroup1.command1.enabled=.t. thisform.commandgroup1.command2.enabled=.f. thisform.commandgroup1.command3.enabled=.t. retu .t.endif
Salu2
SystemDeveloper:
Hola que tal:
3 Cosas
- seek(m.depto)
intentalo con una variable
dato=m.depto
seek(dato)
Intentalo Haber que pasa
- Pack
este comando solo se usa en modo exclusivo si la aplicacion es mono usuario bacan, de los contrario no es recomendable.
y si sigues con tus problemas
descarta el scatter memvar y el gather memvar y trabajalo normal, son mejores los cursos Osea Full SQL
en el ultimo de los casos solo trabajalo si los memvar.
alli estoy seguro de que no tendras problemas
select tabla
set order to tag indice
cad="carlos"
seek(cad)
y eso si lo hara
saludos carlos lima- péru
Navegación
Ir a la versión completa