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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-03-2005
detybel detybel is offline
Miembro
 
Registrado: mar 2005
Posts: 15
Poder: 0
detybel Va por buen camino
Unhappy extraer un dato de un dbgrid

hola ...
tengo tengo un problema en la extraccion de datos de un dbgrid, lo que busco es que cuando realice un doble click en una fila me mande en dato donde se encuentra ubicado´{o mejor el codigo_id que esta relacionado con la tabla de la cual en producto el dbgrid..

no se si pueden ayudarme gracias.....
Responder Con Cita
  #2  
Antiguo 24-03-2005
Avatar de unreal4u
unreal4u unreal4u is offline
Miembro
 
Registrado: nov 2004
Ubicación: Temuco, Chile
Posts: 105
Poder: 20
unreal4u Va por buen camino
a ver si te entendi bien: cuando haces doble clic en una celda, necesitas el "código_id" de esa celda, o sea, puedes tener varios campos, haces clic en cualquiera de ellas, pero sólo necesitas el código?? Eso es??
__________________
Código Delphi [-]
procedure Gracias; 
begin
 if Respuesta_a_Mensaje = TRUE then showmessage('Ojalá que te sirva')
 else showmessage('Gracias por responder... :-)');
end; // (c) unreal4u
Responder Con Cita
  #3  
Antiguo 24-03-2005
detybel detybel is offline
Miembro
 
Registrado: mar 2005
Posts: 15
Poder: 0
detybel Va por buen camino
Wink ok

si!!!!!!!!, eso es exactamente lo que quiero.....
o si no darme una direccion donde pueda profundizar mar mas sobre los dbgrid...
Responder Con Cita
  #4  
Antiguo 25-03-2005
Avatar de Dantael
Dantael Dantael is offline
Miembro
 
Registrado: nov 2003
Posts: 50
Poder: 21
Dantael Va por buen camino
Talking en el evento en el evento!

Hola para seleccionar el campo de el dbgrid si lo tienes ligado a una tabla esto es lo que debes de hacer suponiendo que lo quieras mostrar en un edit:

Código Delphi [-]
procedure TForm1.DBGrid1DblClick(Sender: TObject); //evento doble click del dbgrid
begin
edit1.text:=tabla1['Campo']; //esto es lo que debes poner
end;

//si lo haces desde un query el procedimiento es igual
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if not query1.isempty then                //para combrorar el query tenga datos
edit1.text:=query1['campo']; //esto es lo que debes poner
end;

Saludos
Responder Con Cita
  #5  
Antiguo 26-03-2005
cuburu cuburu is offline
Miembro
 
Registrado: mar 2005
Posts: 63
Poder: 20
cuburu Va por buen camino
Thumbs up Creo tener lo que buscas

Bueno, en realidad si entendi bien tu pregunta lo que necesitas es extraer un dato del registro del que te encuentras actualmente ¿verdad?... si es asi, pues es muy sencillo, lo único que tienes que hacer es conocer el nombre de la columna de la que auiqres saber el dato. Como te encuentras en ese momento apuntando a un registro no necesitas volver a buscarlo en la tabla, solo le tienes que decir a delphi que ingrese al campo por medio de la propiedad TField que puedes encontrar en los componentes TTable y TQuery.

Ya para no hacertela cardiaca en los eventos del DBGrid se encuentra uno llamado OnDblClick el cual respunde a tu primer problema de captura de doble click, ahora lo que tienes que hacer es colocar el siguiente código que le dice a Delphi lo que te explique anteriormente:

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Edit1.Text := Table1.FieldByName('nombre del campo').AsString;
end;


En lugar de asString puedes usar asInteger si tu campo es entero, asFloat si tu campo es Real o cualquier otro. Puedes utilizar asString y Delphi realiza la conversión interna, es decir, si tu campo es de tipo Fecha al extraerlo con el formato asString Delphi realiza la conversión para que puedas obtener tu dato en formato String. Para más información consultate la ayuda del Delphi.

P.D. este código lo utiliza en Delphi 5. No se qué tanto varie en otras versiones, suerte y chau ;>
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 09:26:53.


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