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 12-04-2010
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Se puede? (Filtrar desde dentro de un DBGrid?)

Buenas tardes!

Les cuento q hace poco baje un sistema de control de stock hecho en Visual Basic. Y vi que el programa tenia algo muy interesante...

Haciendo uso de lo q supongo habra sido un DBGrid, uno se posicionaba en la primera columna y primera fila, escribia por ejemplo, un codigo, y al salir de ella se filtraba una base de datos y con los resultados encontrados te completaba el resto de la fila. Agregaba una nueva fila y t posicionaba en la segunda fila y primera columna para ingresar el siguiente codigo y asi... Con todos los productos q quisiera encontrar...

Entonces aqui viene mi duda... con que componente podemos hacer eso en Delphi? Se puede hacer con el DBGrid? Estuve haciendo pruebas pero si no conecto con una DataSet no puedo escribir nada en el DBGrid...

De todos modos seguire probando y bueno... mientras si alguien sabe y quiere contestar muchas gracias!

{Saludos}
Responder Con Cita
  #2  
Antiguo 13-04-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Es un sistema un poco raro de trabajo, supongo (por lo que me parece) que usas una columna del grid para hacer una búsqueda sobre una base de datos por un campo clave (código) y una vez encontrado añades esa fila al Grid.

Yo hubiera utilizado un control externo para hacer eso, me parece más simple y menos lioso, pero bueno...

Lo primero es saber que ese DBGrid (como tú dices) debe estar conectado a un Dataset para poder trabajar; Puedes utilizar un TClientdataset, para ir guardando las filas que necesitas.

En el tema de buscar, supongo que tendrás que utilizar alguno de los eventos que "salta" al salir de la primera columna. En ese evento realizar una búsqueda sobre la tabla donde están los códigos; Si se encuentra el elemento, rellenar la fila, realizar el Post y añadir una nueva.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 14-04-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Tal como dice Neftali el tema pasa por capturar un evento para buscar y filtrar el resultado.
Podrías usar el evento OnSetText del campo asociado, y realizar allí los pasos pertinentes.

Con un TTable:
Código:
{ TTABLE: Usando DBDEMOS, customer.db }
procedure TForm1.Table1StateSetText(Sender: TField; const Text: String);
begin
   with Table1 do
   begin
      DisableControls;
      Filter:=Format('[%s] %s %s', ['State', '=', QuotedStr(Text)]);
      Filtered:= True;
      EnableControls;
      Append;
   end;
 
end;
Con un TIBTable:
Código:
{ TIBTABLE: Usando EMPLOYEE.GBD, CUSTOMER}
procedure TForm1.IBTable1COUNTRYSetText(Sender: TField;
const Text: String);
begin
   with IBTable1 do
   begin
      DisableControls;
      Filter:= Format('%s %s %s',['COUNTRY', '=' ,QuotedStr(Text)]);
      Filtered:= True;
      EnableControls;
      Append;
    end;
end;
Con algunas modificaciones no veo problema para que funcione con un IBDataSet.
Faltarían asimismo ajustar OnKeyPress del DBGrid (mayúsculas o minúsculas) y algún detalle más que puedas encontrar.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 27-04-2010
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Muchas gracias por sus respuestas, ahora me pondre a ver como podria hacerlo y cualquier cosa les aviso.

Perdon por la demora, pero estos dias ando haciendo un par de sistemas en PHP, y unas instalaciones de camaras de seguridad asi q ando bien entretenido.

Nuevamente, muchas gracias!

{Saludos}
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
Se puede Filtrar el Dellate? Palmiro Conexión con bases de datos 4 20-05-2008 18:17:32
Se puede filtrar la informacion de un dblookupcombobox? zcatzz Conexión con bases de datos 2 27-01-2007 04:05:02
Filtrar por rango con Tdbf, se puede ? bitbow Tablas planas 1 03-09-2006 09:51:26
Filtrar un DBGrid jdangosto OOP 4 22-02-2005 21:15:08
filtrar en un dbgrid click Varios 2 06-07-2004 20:28:23


La franja horaria es GMT +2. Ahora son las 15:02:08.


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