Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Filtrar Datos Para Mostrarlos En Un Grid! (https://www.clubdelphi.com/foros/showthread.php?t=81476)

PauloMeno 17-11-2012 19:36:04

Filtrar Datos Para Mostrarlos En Un Grid!
 
Buenasss!!!
Tengo una gran duda.. tengo una base de datos en acces con 2 tablas, una con clubes de futbol y otra con jugadores.
Para cada jugador de la tabla jugadores le corresponde un club de la tabla clubes.
Lo que yo quiero hacer es que en un combo elija el un club y se visualicen los jugadores de ese club en un DBGrid.
Muchas gracias!

ecfisa 17-11-2012 22:21:30

Hola.

Suponiendo que en el ComboBox ya tenes cargados los nombres de todos los clubes:
Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  with tuQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT JUGADORES.NOMBRE'); // ,JUGADORES.DOMICILIO, JUGADORES.TELEFONO, etc, etc...
    SQL.Add('FROM JUGADORES, CLUBES');
    SQL.Add('WHERE JUGADORES.CLUB_ID = CLUBES.ID');
    SQL.Add('AND CLUBES.NOMBRE = :CLUB');
    ParamByName('CLUB').AsString:= ComboBox1.Text;
    Open;
  end;
end;
Logicamente que deberá estar establecido el vínculo: tuDBGrid -> tuDataSource -> tuQuery.

Saludos.

PauloMeno 18-11-2012 14:58:03

Muchas gracias por tu respuesta! Soy nuevo con el tema de manejo de Base de Datos.. No utilizo un Query porque no se como se maneja..
Igual ya lo solucione con la propiedad filter..
Ahora tengo otro problema..
En un form tengo 2 DBGrid con dos ComboBox, en el primer combo elijo un Club y el DBGrid me muestra los jugadores de ese Club, el problema esta que cuando en el segundo ComboBox elijo un Club, tammbien me lo visualiza en el primer DBGrid donde tenia los jugadores del otro Club cargados.. No se si me explico..
Hay alguna solucion para esto??

Caral 18-11-2012 15:57:37

Hola
Tienes que colocar otro table que este ligado al segundo dbgrid.
Cada dbgrid tiene su propio ttable o tquery.
saludos

PauloMeno 18-11-2012 16:00:58

Muchas Gracias Caral!!!

Caral 18-11-2012 16:04:11

Hola
Que base de datos estas usando ?.
Saludos
Y que componentes ?

PauloMeno 19-11-2012 00:16:46

Hola antes que nada muchas gracias por tus respuestas! Estoy usando Access..
Ahora tengo otra duda..
En un campo de la tabla guardo la ruta a diferentes tablas, mi duda es como puedo acceder al contenido de ese carmpo para cargarla con un TImage
Muchas Gracias!

Caral 19-11-2012 00:19:48

Hola
No entiendo la pregunta.
Para que cargar un dato en un componente para imagen pudiendo hacerlo en otro ?
Que es lo que quieres hacer?
Saludos

PauloMeno 19-11-2012 00:29:00

Tengo una tabla que son clubes de futbol y un campo de esa tabla tiene la ruta a la imagen del escudo de ese club entonces lo que quiero hacer es que dependiendo del club que elija aparezca la imagen correspondiente.. no se si me explico..

Caral 19-11-2012 00:30:52

Hola
Y por que no usas un dbimage ?.
Que componentes estas usando para conectarte a access ?
saludos
Me respondo la primera: es una ruta no la imagen:o

PauloMeno 19-11-2012 00:37:01

tengo un Tdatabase, 2 Ttbale y 2 TDataSource

Caral 19-11-2012 00:49:04

Hola
Me imagino que son componentes ADO que son los indicados para conectarse con access.
Bien, con respecto a la pregunta:
Tienes en un campo de una tabla una ruta para una foto.
Tienes un componente ttable que esta ligado al datasource que esta ligado al dbgrid.
Dale doble click al componente ttable y en la pequeña pantalla con raton derecho dale add al campo donde este la ruta de la foto.
luego llamaras a ese campo exactamente cuando el dbgrid cambie de cliente, asi:
En el evento onchange del dbgrid:
Código Delphi [-]
var
  Ruta: String;
begin
   
      Ruta:= TuTableTuCampo.AsString; // buscas la ruta
     Image1.Picture.LoadFromFile(Ruta);// la insertas en la imagen

saludos

PauloMeno 19-11-2012 00:54:39

Clarisimo! Muchas Gracias Caral por tu ayuda!!
Saudos!!!!

Caral 19-11-2012 00:57:13

Hola
Con gusto.^\||/
Saludos


La franja horaria es GMT +2. Ahora son las 02:07:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi