Mostrar datos cliente con un click

Hola
Quisiera ver si me puedes enviar un ejemplo de algo parecido de los sig.
1.- En el form1 que unicamente me muestre un text1 para poder digitar el Id_cliente y un botón de búsqueda que al darle click solo hasta entonces me despliegue un grid con datos del cliente
2.- En el grid1 cuando me muestre los datos del cliente y le de un click en el campo Pedido solo hasta entonces me muestre el segundo grid2 con los datos del pedido.
Apenas estoy aprendiendo fox
Saludos y ójala me puedas enviar un ejemplo.
mi mail es [email protected]

1 Respuesta

Respuesta
1
Ok, este sera un ejemplo de como lo puedes hacer. Supongamos que tienes una tabla llamada Cliente y esta indexada por Id_cliente.
Luego tienes tu tabla Pedidos.
En el evento init cargas las tablas:
select 1
use cliente shared
set order to Id_cliente ascending
select 2
use pedidos shared
En el boton de busqueda deberias hacer lo siguiente:
select 1
set filter to Id_cliente=thisform.text1.value
thisform.grid1.recordsourcetype = 1
thisform.grid1.recordsource = 'cliente'
Thisform. Grid1. Refresh
Con ello te mostrara los datos del cliente. También puedes hacerlo con una consulta sql pero la velocidad puede variar de acuerdo a la cantidad de datos. Hagámoslo así para mostrar los datos del pedido.
Las tablas Cliente y Pedidos deben tener un campo común, como no me haz dado información de los campos de tus tablas asumamos que es Id_Cliente. En el evento AfterRowColChange del grid1 escribe el siguiente. Código:
select Id_Pedido, campo2, campo3, ..., campoN from pedidos where Id_Cliente=thisform.text1.value into cursor cpedido
thisform.grid2.recordsourcetype=1
thisform.grid2.recordsource='cpedido'
Esto sería casi todo en cuanto a tu pregunta. Tienes que definir que campos vas a mostrar exactamente. Si tienes más dudas me consultas.
Maestro te envío que es lo que quiero exactamente.
tabla tipo_depto
cve_depto,descripcion
1101, camisas niño
1102, camisas caballero
1.- Generar un frm principal el cual contendrá unicamente un combo que muestre la cve_depto y descripción de la tabla tipo_depto su campo principal es cve_depto
2.- Al darle un click en el registro deseado me despliegue un grid1 con los datos del depto seleccionado que provienen de la tabla Cte_pedido
se supone que se selecciona el depto 1101
Campos tabla Cte_pedido
id_cte,nom_cte,cve_depto,Pedido,importe
Datos tabla cte_pedido
100, mundo infantil, 1101,150,2475
101, creaciones josmar, 1101,151,4000
3.- Al darle un clic en el campo pedido
Me despliegue el grid2 con los datos del pedido 150
Campos Det_pedido
id_cte,cve_depto,Pedido,talla,pzas,pvta
Datos pedido 151
100,1101,150,6-8,10,65,650
100,1101,150,8-10,25,73,1825
Saludos
Y gracias por tu tiempo tan valioso
mi mail es [email protected]
En el evento init del formulario:
public depa, pedi, cliente
select 1
use tipo_depto shared
select 2
use Cte_pedido shared
select 3
use Det_pedido shared
En el evento activate del form:
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = 'select cve_depto, descripcion from tipo_depto order by cve_depto into cursor curdpto'
thisform.combo2.value=curdpto.cve_depto
En el evento click del combo:
depa=curdpto.cve_depto
select id_cte,nom_cte,cve_depto,Pedido,importe from Cte_pedido where cve_depto=depa order by pedido into cursor cpedido
thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource='cpedido'
En los eventos Keypress e InteractiveChange del combo:
this.click
En el evento AfterRowColChange del grid1:
pedi=cpedido.pedido
select id_cte,cve_depto,Pedido,talla,pzas,pvta from Det_pedido where pedido=pedi order by id_cte into cursor dpedido
thisform.grid2.recordsourcetype=1
thisform.grid2.recordsource='dpedido'
Por error puse combo2. Es combo1 todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas