Ver Mensaje Individual
  #5  
Antiguo 27-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Hola DanyTorres, hay varias cositas que me gustaría comentar:

Yo usaría un Tchecklistbox, al tiempo de añadir los elementos, se puede usar AddObject en lugar de usar Add, de esta forma harías algo así para rellenar el listbox.

Código Delphi [-]
   Tchecklistbox.items.AddObject( tabla1Campo.AsString, Pointer(tabla1ClavePrimaria.AsInteger);

Para saber los que marcó el usuario, es un simple bucle:
Código Delphi [-]
  str := emptystr;
  for i:=0 to checklistbox.items.count- 1 do
  with checklistbox do
   if Checked[i] then
      str := str + inttostr(Integer(Items.Objects[i]))+ ', ';
  if str <> emptystr then
     delete(str, length(str)-1, 1); // borramos la última coma

Por último el sql a lanzar se crea así:
Código Delphi [-]
   query1.sql.text := ' select * from tabla where ClavePrimaria in ('+ str+')';
   query1.open;
el resultado del sql sería:
Código SQL [-]
 
 select * from tabla where ClavePrimaria in (1,3,33,5);

Suponiendo que la clave primaria está definida como un entero 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