Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-04-2023
Garada Garada is offline
Miembro
 
Registrado: jul 2004
Posts: 66
Poder: 20
Garada Va por buen camino
Aquí tienes el código más desarrollado, usa el debug y comprueba las variables por si hay algo que está como se esperaba.

Código Delphi [-]
procedure TFORMINGRESO.multiselect;
 var
  X: Integer;
  sClaves: string; // Variable para guardar las claves de los registros seleccionados
begin
  if DBGINGRESO.SelectedRows.Count = 0 then
  begin
    MessageBox (Handle, ' DEBE SELECCION AL MENOS 1 FILA PARA ELIMINAR ', ' SISTEMA CROSSROASD ', MB_OK);
    Exit;
  end
  else
  begin
     sClaves := ''; // Inicializas la variable
     for X := 0 to DBGINGRESO.SelectedRows.Count -1 do
     with MDBRIONES.FDQBUS_DET_ING Do
     Begin
        DBGINGRESO.DataSource.DataSet.GotoBookmark(TBookmark(DBGINGRESO.SelectedRows.Items[X]));
        sClaves :=sClaves + ',' + DBGINGRESO.datasource.dataset.fieldbyname('id_ing').AsString; // Vas asignando las claves
     end;

     Delete(sClaves, 1, 1); // Se elimina la ',' inicial que sobra
     // Debes tener en sClave algo como '2,6,34,245'

     SQL.Clear;
     SQL.Add ('SELECT I.*, E. nom_esp, T. nom_tip FROM det_ingreso I LEFT JOIN especie E ON E.id_esp = id_esp_deting LEFT JOIN tipo T ON T.id_tip = id_tip_deting');
     SQL.Add ('WHERE id_ing_deting IN (' + sClaves + ') ORDER BY LENGTH(cod_deting)ASC'); // Cambias el WHERE
     // en el SQL.Text debes tener algo como 'SELECT I.*, E. nom_esp, T. nom_tip 
     // FROM det_ingreso I LEFT JOIN especie E ON E.id_esp = id_esp_deting LEFT JOIN tipo T ON T.id_tip = id_tip_deting 
     // WHERE id_ing_deting IN (2,6,34,245) ORDER BY LENGTH(cod_deting)ASC'

     Open();
     DBGDET_INGRESO.DataSource := MDBRIONES.DSBUS_DET_ING;
  end;
end;
Responder Con Cita
  #2  
Antiguo 23-04-2023
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
me estaria marcando un error en esta linea

Delete(sClaves, 1, 1); // Se elimina la ',' inicial que sobra


[dcc32 Warning] Fprecio.pas(75): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
Responder Con Cita
  #3  
Antiguo 23-04-2023
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Esto es basicamente lo que quiero que haga las multiples selecciones y me muestre los detalle de cada seleccion





Última edición por Casimiro Notevi fecha: 23-04-2023 a las 19:53:26.
Responder Con Cita
  #4  
Antiguo 23-04-2023
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Responder Con Cita
  #5  
Antiguo 23-04-2023
Garada Garada is offline
Miembro
 
Registrado: jul 2004
Posts: 66
Poder: 20
Garada Va por buen camino
Es un aviso, no debería impedirte compilar el programa.

También es raro el aviso en esa línea, (¿seguro que es esa?) prueba con este cambio por si no esta usando otro procedimiento que se llame igual.

Código Delphi [-]
System.Delete(sClaves, 1, 1); // Se elimina la ',' inicial que sobra
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
Hacer multiseleccion a placer en DbGrid por codigo Tcmn Varios 5 10-12-2017 05:53:59
Poner columna de checkbox dentro de dbgrid para hacer multiseleccion juscar Varios 19 12-01-2016 22:39:02
Drag&Drop entre dos DBGrid con multiselección agustibaldo Varios 0 26-11-2009 15:37:45
multiseleccion y boton derecho raton en dbgrid alfnisus Varios 0 15-05-2008 18:16:38
validacion de multiseleccion en un dbgrid armando Varios 3 25-03-2004 17:27:24


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


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