PDA

Ver la Versión Completa : 2 accesos a BBDD relacionados en un formulario


djanp
19-02-2009, 13:37:14
uff no se como explicarme en el titulo, seguro q os lio
bueno primero HOla a todos
estoy con un programa de facturacion
tengo un datasheet con 2 pestañas, una con los datos de ltodods os pedidos( numero, cliente, fecha etc) tabla CABECERA FACTURACION y otra q es un formulario de cada pedido
en el cual debo sacar los articulos q lleva el pedido, que es la tabla LINEAS DE FACTURACION

mi problema es que no se sacar solo los articulos del pedido que tengo seleccionado actualmente, sera porq no se hacer un filtro como es debido que me relacione los NUMERO de pedido de las 2 tablas

he probado a poner el datasource de la primera tabla en el dataset de la segunda pero no hace nada, tambien con:
adodatasetlf.FieldbyName('Numero').AsString=adodatasetpc.FieldbyName('Numero').AsString
pero evidentemente esta mal

uso 2 dataset, uno para cada tabla que van a un adoconection y trabajo sobre access
no se si es mejor usar dataset o tablas para sacar los datos, q me aconsejais??
gracias

BlueSteel
19-02-2009, 17:50:41
Hola djanp

si miras un ejemplo que esta en el FTP de Facturación podras ver como se trabaja el tema...y tener mas ideas

con respecto a mi opinion.. yo lo trabajo con 2 setencias SQL (trabajo con ADO) por lo cual serian AdoQuery...

1 Adoquery es para mostrar los datos de los clientes....

algo asi como

Select * From Clientes

el 2do AdoQuery es para mostrar los datos de Cada cliente, como las Facturas....y seria algo como

Select * From Facturas where Cliente = Codigo

aqui lo que tendrias que realizar es un enlace adecuado, segun los campos que quieras mostrar y por los cuales esten vinculados.... tambien deberias verificar bien la sentencia...

por ultimo deja las estructura de las 2 tablas para ver como tendria que ser las sentencias de cada Query

Salu2:p:D

djanp
24-02-2009, 11:43:28
gracias blue
he estado probando lo q me has puesto, con una query para las 2 busquedas y un clientdataset, un dataprovider y datasource para cada consulta

en principio funciona, pero cuando le pongo la clausula where deja de ir, y es que no se como de inutil soy con el sql para no hacer algo tan sencillo como
where Serie=PC
y esto solo para la primera consulta , la segunda tengo q añadir el numero de la primera
('select * form [Lineas Facturacion Compras] where (Serie=PC) and (Numero= clientdataset.fieldbyname("Numero").AsInteger)');

no se si es necesario el fieldbyname, pero pienso q tengo q sacar el dato de ahi para poder compararlo