Uso de textbox, listbox y formset

Hola davsoft, tengo un problema en visual fox y es el siguiente:
Cree un formset con dos formularios:
El form1 tiene un textbox(lo utilizo para hacer una búsqueda en el listbox), el listbox(que me da los datos que tiene la vista remota) y un optionlist(para hacer búsqueda por apellido o nombre).
El form 2 tiene 3 textbox, que me da la información del id_cliente, nombre y apellido, de los datos de la vista remota.
Ahora, cuando me aparece la lista de clientes, en el listbox, sin realizar una búsqueda puedo ver todos los clientes que tengo, si le doy clic a uno, por ejemplo el cliente 9, me abre el form2 y me muestra los datos de este, y así con cualquiera que le de clic lo abre correctamente.
El problema es cuando hago una búsqueda en el textbox, en el listbox me aparece el cliente que quiero lo selecciono, y al darle clic para abrir el form2 no me muestra los datos del cliente.,
No se que pueda hacer. Agradecería tu ayuda.

1 Respuesta

Respuesta
1
Seria mejor que me envíes un ejemplo a [email protected] por que sera difícil solucionar si no veo tu código, pero de todas formas, ¿si tienes un textbox en donde buscas los datos y busca adonde en la vista remota o en la tabla directamente?, pero mejor me envías tu código y te ayuda amigo.
Ok y gracias por todo, yo te lo envío
Estuve mirando las pantallas que me enviaste, me resulto un poco difícil por que necesitaba el código fuente, pero aquí van unos tips.
El error que mencionas en el DELETE me imagino que es error de incompatibilidad de datos, ya que tu código esta así:
...  where id_cliente = thisform.txtId_cliente                       , le falta la propiedad .value   a tu objeto txtId_cliente, por esto te deberia dar un error, no tengo el codigo fuente por eso digo deberia.
Otro punto:
Con respecto al punto dos, en donde tienes el problema al buscar necesito que me envíes el código que usaste para la búsqueda y el código para que abra el form2 y sus parámetros como le envías, así explicándome aquí en la página nada más, no es necesario que me envíes el source.
Gracias, te agradezco mucho tu amibilidad y gracias por responderme,
*********************************************************************
Este es el código que tengo en el textbox, en la acción interativechance:
*** Si la consulta es por el nombre del cliente
if ThisForm.Optiongroup1.Option1.value=1
select Id_cliente,nombre,apellido from v_clientes;
where alltrim(this.value) $ nombre;
order by nombre;
into cursor resultado
ThisForm.List1.rowsource="resultado.Id_cliente,nombre,apellido"
thisform.refresh
else
*** Si la consulta es por el nombre del apellido
if ThisForm.Optiongroup1.Option2.value=1
select Id_cliente,nombre,apellido from v_clientes;
where alltrim(this.value) $ apellido;
order by nombre;
into cursor resultado
ThisForm.List1.rowsource="resultado.Id_cliente,nombre,apellido"
thisform.refresh
endif
endif
************************************************************************
Y este es el código en el listbox, el cual al momento de darle clic a un cliente abre el form2:
Thisformset.Form2.show
Como te digo, si hago una búsqueda no me da el resultado, pero si no hago ninguna búsqueda, y solo doy clic en el nombre de cualquier cliente en la lista si me abre el dato correcto.
********************************************************************
Y en el form2 no manejo ningún código, solo arrastre los campos del entorno de datos al formulario 2.
Gracias por tu ayuda. Saludos
Entiendo, la clave esta en que en el form2 no tienes ningún código, eso significa que el control source de cada objeto apunta a tu vista remota, sin embargo tu sql creo un cursor llamado resultado, esto no implica que tu vista ira al registro que seleeciono, por que no lehas dado ninguna orden de búsqueda, solamente buscaste un dato, creaste un cursor totalmente independiente a la vista, por eso en el evento dblclick de tu list justo antes de mostrar el form2 debes mover el cursor en la vista remota, por ej.
sele v_clientes
locate for this.value = v_clientes.codigo        &&con esto se mueve el cursor en la vista
thisform.refresh
thisformset.form2.show
el ejmplo de locate no presisamente utilizars asi, si tienes otra forma no hay problemas, puedes usar otro metodo, pero si que debes tener en cuenta que el cursor resultado no depende de la vista v_clientes y la vista v_clientes  luego de tu consulta sql queda en el EOF(), o sea fin de archivo, por eso te trae los text en blanco.
Muchas gracias por tu ayuda.
no entendi muy bien, disculpa es ke soy nuevo en visual
escribi el codigo en el clic del listbox, y me marca el error en
locae for this.value=v_clientes.idcliente
me dice ke error incompatibilidad de tipos entre el operador y operando.
Y de nuevo gracias por toda tu ayuda, has sido muy amable.
Gracias
Si el error te da por que probablemente v_clientes. idcliente es numerico, y this. value  es caracter, incompatibilida de datos, entonces deberias convertir uno de ellos a igual que l tro.
locate for val(this.value) = v_clientes.idClientes
Así.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas