FoxPro/Visual FoxPro - cargar nombres de una grid a un text buscar

 
Vista:
sin imagen de perfil

cargar nombres de una grid a un text buscar

Publicado por wilmer (14 intervenciones) el 06/02/2014 00:20:21
hola a todos, me pueden ayudar, Mi problema es el siguiente.

en esta imagen está mi formulario q estoy realizando



y cuando haga click en BUSCAR, me lleva a este formulario


en el cual busco el nombre del cliente que deseeo

al hacer click en INGRESAR quiero q el nombre q busco me salga en este formulario

en el texto de nombre y edad
alguien me puede ayudar con el codigo les agradeceria bastante
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

cargar nombres de una grid a un text buscar

Publicado por Fidel José (558 intervenciones) el 06/02/2014 13:49:10
Tienes varias formas de hacer eso dependiendo de cómo manejes los datos.
La que me parece mejor es la siguiente
Cuando llamas al segundo formulario (botón buscar) (suponiendo que ese form se llame "FrmGrid" y que soporta un cursor o tabla llamado "curBusqueda"
do form FrmGrid with thisform

En el init del formulario de la grilla (FrmGrid), va lo siguiente
* <Init de FrmGRid>
LPARAMETERS xoForm
Addproperty(Thisform, "oform", xoForm) && agrego una propiedad con la referencia al form que llama.

* <Click del botón Ingresar> && Form FrmGrid
with thisform.oform && referencia al objeto formulario inicial.
.TxtNombre.Value=curBusqueda.nombre && rellena TextBox y otros con valores del cursor (o del form)
.TxtEdad.Value=curBusqueda.Edad
.TxtLoqueSea = curBusqueda.LoqueSea
endwith
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

cargar nombres de una grid a un text buscar

Publicado por wilmer (14 intervenciones) el 07/02/2014 03:23:39
Tienes varias formas de hacer eso dependiendo de cómo manejes los datos.
Hola amigo Fidel Jose, segun te entiendo tengo que hacer lo siguiente


Cuando llamas al segundo formulario (botón buscar) (suponiendo que ese form se llame "Buscar pacientes" y que soporta un cursor o tabla llamado "Pacientes"
DO FORM "d:\proyecto tesis\buscar pacientes.scx" with thisform
HASTA AQUI NO HAY PROBLEMA
********************************************************************************
AQUI NO ENTIENDO
***************************************************************************************************
En el init del formulario de la grilla (FrmGrid), va lo siguiente
* <Init de FrmGRid>
LPARAMETERS xoForm
Addproperty(Thisform, "oform", xoForm) && agrego una propiedad con la referencia al form que llama.

***********************************************************************************
ESTA PARTE ME QUEDA ASI
**********************************************************************************
* <Click del botón Ingresar> && Form FrmGrid
with thisform.oform && referencia al objeto formulario inicial.
. TxtNombre.Value=pacientes.nombre && rellena TextBox y otros con valores del cursor (o del form)
.TxtEdad.Value=edad.Edad
endwith
AQUI ME SALE EL MENSAJE DE DATA TYPE MISMATCH Y EXPPRESSION IS NOT VALID OF WITH/ENDWITH


NO SE Q ESTA MAL, TE AGRADECERIA SI ME AYUDAS A CORREGIR MI FALLA, MUCHAS GRACIAS
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
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

cargar nombres de una grid a un text buscar

Publicado por Fidel José (558 intervenciones) el 07/02/2014 14:44:10
Wilmer
El error data type mismatch significa que el tipo de valor asignado a una propiedad no se corresponde con el esperado.
Edad.Edad me imagino que es incorrecto. Tal vez sea Pacientes.Edad. El segundo error es consecuencia de que el primer error salta el Endwith.

Entonces, para detectar donde está el error, separa las líneas:

Thisform.oform.TxtNombre.Value=pacientes.nombre
Thisform.oform.TxtEdad.Value=pacientes.edad

Si el error está en la asignación de pacientes.edad, fíjate que tipo de valor tiene edad. Si es numérico, el TxtEdad debería inicializarse en el primer form como Thisform.TxtEdad.value=0, thisform.txtEdad.InputMask="999"

En cuanto a lo que dices que no entiendes, no sé a qué te refieres.
AddProperty() agrega una propiedad al formulario en tiempo de ejecución. También la puedes agregar con el diseñador de formularios.
La referencia de objeto sería el nombre interno que toma un objeto dentro de VisualFox, lo que nos permite manipular un objeto sin saber su nombre.

En este caso, al pasar un parámetro al formulario, tenemos dos posibilidades:
a) Que la definición sea PARAMETERS, en cuyo caso el valor será visto hasta el Activate del form
b) Que la definición sea LPARAMETERS, en cuyo caso el valor solo será visto por el evento INIT.
Como en ninguno de ambos casos el parámetro xoForm subsistirá después del INIT, tenemos al menos 3 posibilidades:
1) Crear una variable pública (no recomendado)
2) Crear una propiedad en _Screen (poco práctico para el caso)
3) Crear una propiedad en el formulario. (recomendado)
Las propiedades y métodos de usuario de un formulario, son accesibles hasta el Unload del form y se destruyen junto con el objeto.
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

cargar nombres de una grid a un text buscar

Publicado por wilmer (14 intervenciones) el 11/02/2014 02:21:35
hola amigo Fidel José, te agradesco muchisimo x tu ayuda, ya me salio todo, al parecer estaba mal en las partes q me explicaste.

Nuevamente te agradesco bastante me ayudaste con unos de tantos inconvenientes de este hermoso mundo de la programacion
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