Búsqueda mientras se escribe visualizar en DBGrid

Estoy realizando un programita, usando Delphi y Sql Server, tengo varias tablas definidas y relacionadas por medio del MasterSource y FieldSource.
Tuniversitario relacionada con Tmaterias y Tbecas. Donde un Universitario tiene programadas varias materias y recibe una beca(dinero) cada mes.
Ya tengo introducidas la información respectiva. Lo que ahora quiero es realizar búsquedas.
Los campos para Tuniversitario:IdE, CiE, NombreE, ApellidoP, ApellidoM, Carrera, AnioSemestralizado, etc...
TMateria:IdM, IdE, NroSemestre, NroAnio, SiglaMateria, NombreMateria, etc
TBeca:IdB,IdE, MontoBeca, SancionB, MontoArecibir, MontoTotalRecibidoActualizado
Colocando en el Form:un combobox, Edit1, DBGrid1, DBgri2, DBGrid3.
En el ComboBOx quiero seleccionar "cualquier campo de Tuniversitario" y en el Edit1 quiero escribir la información correspondiente al combobox. En el DBGrid1 quiero que me aparezca la información del Tuniversitario, ejemplo con el nombre Juan que me visualice en DBGrid1. En el DBGrid2 las materias que lleva. Obviamente si hay varios con el nombre Juan, solo visualice en el DBGrid1 y los demás DBGrid 2 y 3 se deshabilite.
En el DBGrid3 que me muestre los montos de dinero que recibió y sus totales (MontoTotalRecibidoActualiza no puedo sumar :( aparece error).
Por favor si alguien podría ayudarme, esty con esto de búsqueda múltiple varios días y solo pude hacer búsqueda por una sola tabla y no a varias.
Cabe mencionar que en el DBGrid1 solo me muestre UNA SOLA FILA si existe un sola persona con esa información. En el que había solo me seleccionaba la fila y me mostraba todos los datos restantes :(
Respuesta
1
Primero que nada necesitas un campo común en las tablas, osea un campo para relacionar las tablas, con esto puedes usar una sentencia sql similar a esta:
select idpedido, idcliente, fecha, refer, refer2, importe, moneda, tcambio, status, factor, tipo, activo, codigo, concepto, marca, colores, tallas, cantidad, unidad, costo, precio
from de_ped
   inner join pedidos on (idpedido = pedidos.idpedido)
where 
   (
      (activo = 1)
   )
El join lo que hace es unir las tablas en base al campo común.
Solo resta que esta sentencia la adaptes a tus tablas... ;)
Hola experto, gracias por tu cooperación... esas relaciones lo hice por medio de MaterSource y FieldsSource y pues al aparecer el datos del master me aparecían los demás datos sin problema. Lo que quería es realizar la búsqueda a medida que se escribía... (ya lo solucioné también eso :) ...)
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas