• Lunes 18 de Noviembre de 2024, 01:50

Autor Tema:  El Seek No Me Esta Funcionando  (Leído 2959 veces)

sleipnir

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
El Seek No Me Esta Funcionando
« en: Sábado 22 de Octubre de 2005, 07:06 »
0
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
  1.  
  2. select departamentos
  3. scatter memvar blank
  4. set order to depto
  5.  

txtDepto.valid
Código: Text
  1.  
  2. if empty(m.depto)
  3.   retu .t.
  4. endif
  5. if seek(m.depto)
  6.   scatter memvar
  7.   thisform.refresh
  8.   thisform.commandgroup1.command1.enabled=.t.  
  9.   thisform.commandgroup1.command2.enabled=.t.
  10.   thisform.commandgroup1.command3.enabled=.t.
  11.   retu .t.
  12. else
  13.   thisform.commandgroup1.command1.enabled=.t.
  14.   thisform.commandgroup1.command2.enabled=.f.
  15.   thisform.commandgroup1.command3.enabled=.t.
  16.   retu .t.
  17. endif
  18.  
  19.  

txtDepto.Lostfocus
Código: Text
  1.  
  2. if empty(m.depto)
  3.   scatter memvar blank
  4.   thisform.commandgroup1.command1.enabled=.f.
  5.   thisform.commandgroup1.command2.enabled=.f.
  6.   thisform.commandgroup1.command3.enabled=.f.
  7.   thisform.commandgroup1.command4.setfocus
  8. endif
  9. thisform.refresh
  10.  
  11.  

Command1.click Salvar
Código: Text
  1.  
  2. if seek(m.depto)
  3.   gather memvar
  4. else
  5.   append blank
  6.   gather memvar
  7. endif
  8. scatter memvar blank
  9. thisform.commandgroup1.command1.enabled=.t.
  10. thisform.commandgroup1.command2.enabled=.t.
  11. thisform.commandgroup1.command3.enabled=.t.
  12. thisform.txtdepto.setfocus
  13. thisform.refresh
  14.  
  15.  

Command2.click Eliminar
Código: Text
  1.  
  2. if seek(m.depto)
  3. delete
  4. pack
  5. endif
  6. scatter memvar blank
  7. thisform.commandgroup1.command1.enabled=.t.
  8. thisform.commandgroup1.command2.enabled=.t.
  9. thisform.commandgroup1.command3.enabled=.t.
  10. thisform.txtdepto.setfocus
  11. thisform.refresh
  12.  
  13.  

Command3.click Cancelar
Código: Text
  1.  
  2. scatter memvar blank
  3. thisform.commandgroup1.command1.enabled=.t.
  4. thisform.commandgroup1.command2.enabled=.t.
  5. thisform.commandgroup1.command3.enabled=.t.
  6. thisform.txtdepto.setfocus
  7. thisform.refresh
  8.  
  9.  

command4.click Salir
Código: Text
  1.  
  2. thisform.release
  3.  
  4.  

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

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: El Seek No Me Esta Funcionando
« Respuesta #1 en: Lunes 24 de Octubre de 2005, 19:59 »
0
intenta de esta forma

Código: Text
  1. set order depto
  2. seek(m.depto)
  3. if found()
  4.   scatter memvar
  5.   thisform.refresh
  6.   thisform.commandgroup1.command1.enabled=.t.  
  7.   thisform.commandgroup1.command2.enabled=.t.
  8.   thisform.commandgroup1.command3.enabled=.t.
  9.   retu .t.
  10. else
  11.   thisform.commandgroup1.command1.enabled=.t.
  12.   thisform.commandgroup1.command2.enabled=.f.
  13.   thisform.commandgroup1.command3.enabled=.t.
  14.   retu .t.
  15. endif
  16.  
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: El Seek No Me Esta Funcionando
« Respuesta #2 en: Lunes 31 de Octubre de 2005, 17:24 »
0
Por que no haces esto

txtDepto.valid

Código: Text
  1. if seek(This.Value)
  2.   scatter memvar
  3.   thisform.refresh
  4.   thisform.commandgroup1.command1.enabled=.t.  
  5.   thisform.commandgroup1.command2.enabled=.t.
  6.   thisform.commandgroup1.command3.enabled=.t.
  7.   retu .t.
  8. else
  9.   thisform.commandgroup1.command1.enabled=.t.
  10.   thisform.commandgroup1.command2.enabled=.f.
  11.   thisform.commandgroup1.command3.enabled=.t.
  12.   retu .t.
  13. endif
  14.  
  15.  


Salu2
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

SystemDeveloper

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: El Seek No Me Esta Funcionando
« Respuesta #3 en: Sábado 12 de Noviembre de 2005, 17:58 »
0
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