FoxPro/Visual FoxPro - unir 2 tablas con Cursor para un Combo

 
Vista:

unir 2 tablas con Cursor para un Combo

Publicado por ebner (23 intervenciones) el 18/03/2007 20:47:09
Hola a todos tengo la siguiente dificultad que no me sale :

public cod
tengo 2 tablas clientes y maquina y uso este codigo en el evento Valid
de la text1
aqui llamo el no de codigo que es de 20 caracteres
las 2 tablas tienes el mismo campo llamado código y es de 20 caracteres
*______________________________________________________________
cod=Thisform.Pageframe1.Page1.Text2.Value
Select codigo ,nomcliente From clientes Where Alltrim(codigo)=Allt(cod) Into Cursor Micu

*------------------------------------------------------------------------------------------------------------------
thisform.Pageframe1.Page1.Combo2.ColumnCount =3
thisform.Pageframe1.Page1.Combo2.columnwidths = "10,20,122,88"
thisform.Pageframe1.Page1.Combo2.RowSourceType =0
thisform.Pageframe1.Page1.Combo2.RowSource = "Select codarticul,nombre,modelo From maquina INNER JOIN clientes ON clientes.codigo=maquina.codigo;
Where Allt(clientes.codigo)=Allt(cod) And Allt(maquina.codigo)=Allt(cod) Into cursor micursor"
*thisform.Pageframe1.Page1.Combo2.RowSourceType =3
thisform.Pageframe1.Page1.Combo2.Refresh

más abajo lleno el combo2 x código todo esto funciona con un browse de prueba
al relacionar las 2 tablas de abajo

al ejecutar el formulario y digitar un código cualquiera funciona bién incluso me filtra
el combo2 ..pero al hacer clic en este combo sobre el elemento seleccionado me
inserta 2 código y el resto de campos que no corresponde :
esto es lo que tengo en el evento clic del combo2

Thisform.Pageframe1.Page1.Label7.caption=maquina.codarticul
Thisform.Pageframe1.Page1.Label8.Caption=maquina.nombre
Thisform.Pageframe1.Page1.Combo2.refresh
ejemplo si digito en la text1 el código 05 y al ir al combo2 efectivamente aparece
y al hacerle un clic me inserta el Código 04 por decir algo .

que paso esta mal ..la relación de las 2 tablas ?
si alguién me ayuda con algo de código de ejmplo más abajo ..
Gracias ..
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

RE:unir 2 tablas con Cursor para un Combo

Publicado por Hector R. De los Santos (270 intervenciones) el 19/03/2007 19:38:55
Tienes dos combobox?? o solo es uno?
Si solo tienes uno lo mejor es usar INNER JOIN para unir tablas,puedes usar el diseñador de consultas para eso, asi en el RowSource poner el campo del cursor de resultado.
Si tienes dos combox , no veo para que usar dos. Si lo que quieres es mostra un filtro de lo que hay en las dos tablas.
Otra cosa:
Para que tienes esto::??
Thisform.Pageframe1.Page1.Label7.caption=maquina.codarticul =>??
Thisform.Pageframe1.Page1.Label8.Caption=maquina.nombre =>??
Thisform.Pageframe1.Page1.Combo2.refresh
Debes referirte a tu cursor no a la tabla de origen
Suerte!!
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