Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
dbgrid llenado de datos

Holasss!!
estoy trabajando con un dbgrid y un dblookupcomobox y la idea es de que una vez halla seleccionado uno de los items del combobox me aparezca no solo ese item del combobox sino todos los demas que acompañan a la respectiva fila en la tabla.. en el dbgrid no veo muchas opciones para config. solo un datasource.. pero me pone todos los datos de la tabla .....SOS!!
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #2  
Antiguo 02-11-2006
Rayku Rayku is offline
Miembro
 
Registrado: jun 2006
Posts: 12
Poder: 0
Rayku Va por buen camino
Ok Veamos

La Propiedad listsource Del combo Y La Propiedad datasource Del grid Deben Ser Iguales (apuntar Al Mismo dataset)
Responder Con Cita
  #3  
Antiguo 02-11-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
dbgrid llenado

si de hecho apuntan al mismo dataset.. pero me despliega todos los datos de la tabla en el grid....
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #4  
Antiguo 02-11-2006
Rayku Rayku is offline
Miembro
 
Registrado: jun 2006
Posts: 12
Poder: 0
Rayku Va por buen camino
Ok

MIRA SI EN EL COMBO TIENES DATOS Y SEGUN LO Q SELECCIONAS DESEAS QUE EN EL GRID SE MUESTREN SOLO LOS Q INTERESAN

NECESITAS DOS DATA SET UNO PARA EL COMBO Y OTRO PARA EL GRID

EN EL EVENTO ONDATACHANGE DEL DATASET DEL COMBO, DEBES CONSULTAR/ FILTRAR LO QUE DESEAS EN EL GRID

ESPERO ESO SIRVA rayku19@hotmail.com
Responder Con Cita
  #5  
Antiguo 02-11-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Por favor respetad la Guía de estilo y no escribais en mayúsculas.



Saludos
Responder Con Cita
  #6  
Antiguo 02-11-2006
Rayku Rayku is offline
Miembro
 
Registrado: jun 2006
Posts: 12
Poder: 0
Rayku Va por buen camino
ok Bicho, es q soy nuevo en esto
Responder Con Cita
  #7  
Antiguo 02-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola emenchi34
Esto es muy facil, haciendo un filtro a la tabla o query y usando un combobox sencillo.
Tienes un DBgrid, este esta conectado a un Query, la cual tiene campos, Bueno.
1- Colocamos un query nuevo en el form para que coloque la informacion en el combobox asi:
Código Delphi [-]
   AdoQuery1.SQL.Text := 'Select TuCampo From TuTabla';
   AdoQuery1.Active := True;
   While not AdoQuery1.Eof do
   begin
      Combobox1.Items.Add(AdoQuery1.Fields[0].Text);
      AdoQuery1.Next;
   end;
Con esto vemos el contienido del campo en el combobox1.
Ahora vamos a filtrar la informacion.
1- Queremos que aparezca en el grid lo que filtre el combobox hacemos esto:
Código Delphi [-]
    TuTabla.Filter := 'TuCampo = '+QuotedStr(Combobox1.Text);
    TuTabla.Filtered := True;
Con esto filtramos lo que este en el combobox y lo colocamos en el dbgrid, por supuesto TuTabla tiene que estar conectada al datasorce y este al dbgrid.
Espero que lo entiendas.
Saludos
Responder Con Cita
  #8  
Antiguo 02-11-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
gracias

bueno voy a ver si me resulta.... gracias caral...
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #9  
Antiguo 02-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Un apunte al primer código de caral:
Código Delphi [-]
 AdoQuery1.SQL.Text := 'Select TuCampo From TuTabla';
   AdoQuery1.Active := True;
try
   AdoQuery1.DisableControls;
   While not AdoQuery1.Eof do
   begin
      Combobox1.Items.Add(AdoQuery1.Fields[0].Text);
      AdoQuery1.Next;
   end;
finally
  AdoQuery1.EnableControls;
end;
Usando Enable/Disable Controls permite que un bucle normal de 5 segundos de ejecución, se ejecute en menos de medio segundo.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 02-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola emenchi34
Cuando resulte, que es un hecho, porque asi lo hago y funciona, por favor indicalo en otra nota, asi, cuando alguien mas vea esta, no se quedara con la duda, es bueno que si se hacierta con la duda, se de a conocer el resultado fina, recuerda que estos foros los ven muchas otras personas y talvez con las mismas dudas.
Saludos
Responder Con Cita
  #11  
Antiguo 02-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Lepe
Gracias por mejorar el codigo, de eso se trata, de aprender, me parece muy bien
Saludos
Responder Con Cita
  #12  
Antiguo 09-11-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
problemas en el dbgrid

holasss les comento que con el combobox no he tenido inconvenientes.. en cambio los problemas los tengo cuando quiero hacer la insercion en el dbgrid

Repasando:
tengo un combobox en el cual visualizo un campo determinado de mi tabla (campo=PRODUCTO1) (tabla=ARTIC). una vez seleccionado el producto en el combobox, atraves de un boton tendria que insertar en el dbgrid PRODUCTO1,PRECIO,CATEGORIA;todos pertenecientes a la tabla ARTIC... trate de implemetar lo escrito por caral y no me dio resultado.. quizas este errado en algo....
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #13  
Antiguo 09-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Vamos a ver tal vez lo del filtro no te funciono, otra solucion.
Coloca esta vez dos query, uno obtendra, los datos para llenar el combobox y el otro colocara la informacion filtrada en el dbgrid asi:
Primer query: Coloca informacion combo:
Código Delphi [-]
AdoQuery1.SQL.Text := 'Select PRODUCTO1 From ARTIC';
   AdoQuery1.Active := True;
   While not AdoQuery1.Eof do
   begin
      Combobox1.Items.Add(AdoQuery1.Fields[0].Text);
      AdoQuery1.Next;
   end;
Segundo query: Coloca informacion filtrada en dbgrid:
Nota: este segundo query, tiene que tener un datasource ligado y este datasource tiene que estar ligado al dbgrid.
Código Delphi [-]
ADOQuery2.Active:= False;
  ADOQuery2.SQL.Text:= 'SELECT * From ARTIC';
  ADOQuery2.SQL.Add('WHERE (((ARTIC.PRODUCTO1)="'+Combobox1.Text+''"'));
  ADOQuery2.Active:= True;
Espero te sirva
Saludos
Responder Con Cita
  #14  
Antiguo 11-11-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
error en sentencia

creo que tienes un error en la siguiente sentencia:
Código:
ADOQuery2.SQL.Add('WHERE (((ARTIC.PRODUCTO1)="'+Combobox1.Text+''"'));
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #15  
Antiguo 16-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código Delphi [-]
ADOQuery2.Active:= False;
  ADOQuery2.sql.clear;  
  ADOQuery2.SQL.Add('SELECT * From ARTIC');
  ADOQuery2.SQL.Add('WHERE ARTIC.PRODUCTO1 = '+ QuotedStr(Combobox1.Text));
  ADOQuery2.Active:= True;

Prueba así. Quizás en lugar de comillas dobles, necesites comillas simples.

Para no liarte introduciendo varias comillas simples, he usado QuotedStr. Deberás usarlo si artic.producto1 está declarado como un string en la base de datos.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en llenado vacio javicho_villa Varios 0 11-04-2006 19:35:46
Llenado de Base de datos Luis Castillo Firebird e Interbase 1 16-01-2006 20:52:36
Llenado de formulario rastafarey Varios 4 12-03-2005 01:46:47
Datos en un DBGrid HugoH Conexión con bases de datos 1 26-04-2004 22:09:00
Como extraer datos de un DBgrid a otro DBgrid mickey Conexión con bases de datos 13 29-01-2004 05:05:30


La franja horaria es GMT +2. Ahora son las 19:54:03.


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
Copyright 1996-2007 Club Delphi