Búsqueda en foxpro

Experto, una ayuda, estoy creando una formulario de búsqueda, lo inicie de una ya existente, y poco a poco eh ido resolviendo todos los dilemas, sin embargo al correr el formulario, llenar los datos y darle en el botón búsqueda me sale Unknown membre check1.
Por más que le busco, no le entiendo a que se deba, te paso el código:
set order to nombre
thisform.check1.value = 0
thisform.check2.value = 0
thisform.check3.value = 0
thisform.check4.value = 0
thisform.check5.value = 0
thisform.check6.value = 0
thisform.check7.value = 0
thisform.check8.value = 0
thisform.check9.value = 0
thisform.check10.value = 0
thisform.check11.value = 0
seek(rtrim(thisform.text2.value)+rtrim(thisform.text3.value)+rtrim(thisform.text1.value))
if found()
  thisform.text4.value = rtrim(nombre)+' '+rtrim(paterno)+' '+rtrim(materno)
  thisform.text5.value = rtrim(calle)+' '+rtrim(num_Ext)+' '+rtrim(num_int)
  thisform.text7.value = rtrim(colonia)
  thisform.text8.value = cp
  thisform.text9.value = georeferen
  thisform.text10.value = ocupacion
  thisform.text11.value = folio
  thisform.text12.value = secc
  thisform.text13.value = localidad
  thisform.text14.value = mza
Soy nuevo, pero en los últimos días le he entendido bastante, solamente tengo esa duda, como resolver esa variable.
mi correo es [email protected]

1 Respuesta

Respuesta
1
Espero poder ayudarte.
Por tu código veo que la única posibilidad es que check1 realmente no exista en tu formulario. Puede ser que sin querer le cambiaste el nombre. Verifica los nombres (en la propiedad name) de esos objetos del formulario.
Por otro lado te recomiendo algunas cosas que te pueden servir:
- Utilizá nombre que identifiquen a los formularios; por ejemplo "nombreapellido" en lugar de text4 porque será más fácil recordarlos. En un formulario de datos de una tabla como un alta de clientes, te recomiendo que uses el mismo nombre para el objeto que para el campo de la tabla, así es más fácil: por ejemplo:
replace codigo with thisform.codigo.value
- si es posible, los ckecks tratalos con valores lógicos en lugar de ceros y unos asi la compilación del código es mejor, por ejemplo: Si usas 0 y 1 para el valor el lenguaje debera evaluar la expresion thisform.check1.value=1 para que te de verdadero (.t.) en cambio, si usas directamente true y false podes preguntar:
if thisform.check1.value
...
Endif
- Por último podes usar (cuando son muchos controles para inicializar del mismo tipo) el método setall del formulario; así:
Thisform. SetAll('value', 0,'checkBox')
Y resolves todo en una sola linea.. para saber como es la clase de cada control, por ejemplo un ckeck o un text, podes ver la propiedad class de uno de ellos..
- Por ultimo ultimo... si vas a usar muchos thisform o muchos nombres de referencia como en este código podes usar with endwith.. entonces tu código arranca directamente del .algo.. así:
with thisform
          .text3.value=algo
          .text4.value=algo
Endwith
Bueno, espero que haya sido de utilidad.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas