Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Poder: 19
Goyo Va por buen camino
pasar de un dbgrid a un listbox

miren lo que quiero hacer creo que ahora es mas facil (eso digo yo para lo que son expertos en delphi) y si es que me ayudan (y eso creo que si).

miren estoy cargando una tabla (Personas) con tres campos (id_personas, Titular, Cargo), en un DBGrid (solo el nombre pongo el Titular), lo que necesito saber es como pasar el id_personas y el nombre a un ListBox o un ComboBox, siempre y cuando seleccione un elemento del DBgrid. Bueno me explico...


en el DBGrid muestro los datos de la tabla Personas, por ejemplo tengo los siguientes datos:
id_personas, Titular, Cargo
1,Benito Juarez Garcia, Director General
2,Juan Cantu Mendoza, Director de Finanzas
3,Gabriel Garcia Marquez, Director de Ingenieria
..
..
9,Carlos Estrada Marquecina, Director del Agua

si quiero pasar el registro Gabriel Garcia Marquez (este lo selecciono en el DBGrid) y que al pulsar en un boton agregar, este se agregue a un listBox o un ComboBox, y a su vez pueda pasar el registro de Carloss Estrada Marquezina al listBox o un ComboBox.
para que cuando pulse la opción de guardar estos datos que tengo en el listbox o el combobox se graben en la tabla Asignaciones con los campos (id_asignacion, id_personas, Id_Documentacion, Comentarios) que id_personas(Tabla Asignaciones)=id_personas(Tabla Personas)

les agradecere la atencion prestada a este tema...
saludos y muchas gracias
Responder Con Cita
  #2  
Antiguo 13-12-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Goyo
Entiendo:
Quieres que al apretar un boton, pase, la informacion que esta seleccionada en un dbgrid, a un combobox.
Bueno, si es asi:
1-Pon un query temporal (AQTemp), lo conectas con la base de datos o datamodule.
2-En el evento click del boton pones esto:
Código Delphi [-]
 var
 personas: string;
begin
   AQTemp.SQL.Text := 'Select * From Personas Where id_personas = '+personas;
   AQTemp.Open;
   Combobox1.Text := AQTemp.Fields[0].AsString;
Se supone que si tienes la informacion de id_personas , seleccionada en el grid, esta sera pasada al combobox1.
Espero te sirva.
Saludos
Responder Con Cita
  #3  
Antiguo 13-12-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Poder: 19
Goyo Va por buen camino
te agradezco mucho Caral...
mira estoy utilizando bases de datos de MySQL, y con respecto al AQTemp es un Query normal? (disculpa la ignorancia) o es otro componente, porque yo puse en lugar de AQTemp, escribi Query, y quedo de la siguiente manera:
Código Delphi [-]
procedure TFormCaptura.BitBtnAgregarClick(Sender: TObject);
 var
 personas: string;
begin

   Query1.SQL.Text := 'Select * From Personas Where id_personas = '+personas;
   Query1.Open;
   Combobox1.Text := Query1.Fields[0].AsString;
end;

en el ComboBox pueden agregarse mas de 1 personas, para que posteriormente se graben su id_personas en la tabla Asignaciones (id_personas).

Por cierto me marca un error:
Invalid use of keyword.
Token:=
Line Number 1'

Última edición por Goyo fecha: 13-12-2006 a las 22:21:37.
Responder Con Cita
  #4  
Antiguo 13-12-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Goyo
Recuerda que en delphi se puden poner nombres diferentes a los componentes, el nombre es lo de menos, es simplemente un idetificador, ademas de ser bueno usarlos para referencias, si usas un query temporal, es bueno llamarlo TemQuery o Tquery, asi cuando se ve el codigo se interpreta mejor.
Efectivamente el AQTemp es un query normal.
Ahora yo le pongo asi, porque uso ado, entonces me guio mejor poniento A de ADO, Q de Query y Temp de temporal.
Es solo una manera de guiarme.
Que bueno que te funcione.
Saludos
Responder Con Cita
  #5  
Antiguo 13-12-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Poder: 19
Goyo Va por buen camino
Unhappy

ya te entendi Caral, solo que cuando pulso el boton agregar (obviamente tengo que tener seleccionado un elemento del dbgrid) me marca el siguiente error:

Invalid use of keyword.
Token:=
Line Number 1'


el AQTemp (Query) en su propiedad DataSource = DM.DsPersonas
que es la tabla que muestro en el DBGrid
Responder Con Cita
  #6  
Antiguo 13-12-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Goyo
Aqui me parece que pueden estar pasando varias cosas:
1-El dato id_personas , no es string, es integer.
2-Lo que quieres es el dato Titular, que te da el nombre, ese es string.
Bueno veamos soluciones:
1- Si quieres el dato id_personas en el combobox, cambia astring por value o asInteger, pero tambien la variable la tienes que cambiar.
Código Delphi [-]
 var
 personas: integer;
begin
   AQTemp.SQL.Text := 'Select * From Personas Where id_personas = '+personas;
   AQTemp.Open;
   Combobox1.Text := AQTemp.Fields[0].Value;
2-Si quieres el dato titular, esta en segundo plano en la tabla, segun veo:
id_personas (1), Titular (2), Cargo (3)
por esta razon se ubica en 1 no en cero.
Código Delphi [-]
 var
 personas: string;
begin
   AQTemp.SQL.Text := 'Select * From Personas Where Titular = '+personas;
   AQTemp.Open;
   Combobox1.Text := AQTemp.Fields[1].AsString;
Prueba y me dices
Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
pasar codigo DBGrid a cxGrid, seleccionar una fila y cambiar el color, no desapareser sakuragi OOP 13 11-02-2006 10:02:07
pasar mouse por dbgrid o cxgrid y colorear fila sakuragi Gráficos 0 06-08-2005 01:37:56
pasar de listbox a clipboard lastfenix OOP 4 14-07-2005 09:50:50
Pasar datos desde un DBGrid jdangosto OOP 2 19-02-2005 16:55:37
Pasar enfoque de Celdas en dbGrid AGAG4 Varios 9 15-09-2004 02:00:30


La franja horaria es GMT +2. Ahora son las 03:49:05.


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