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 03-04-2016
mramos65 mramos65 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Mèxico
Posts: 26
Poder: 0
mramos65 Va por buen camino
Saber nombre de DBGrid seleccionado (Activo)

Hola a todos:

Trabajo con Delphi7 y Tablas DBF, tengo en una form 5 Dbgrids,
Tengo un procedimiento para exportar a excell y quiero que al seleccionar o asignarle el foco a uno de los DBGrids, en un popmenu (que tiene cada DBGrid), pueda elegir la opcion exportar a excell y lo haga con el mismo procedimiento sin tener que repetirlo para cada DBGrid.

Por su gran apoyo de siempre.

GRACIAS
Responder Con Cita
  #2  
Antiguo 03-04-2016
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
No tengo Delphi a la mano para probar, pero mira si te funciona con Form1.ActiveControl, o sea, si usas en tu procedimiento
Código Delphi [-]
If Form1.ActiveControl is TDBGrid then
   //Haces lo que quieras con 
   TDBGrid(Form1.ActiveControl)

Ya tienes el Grid activo, suponiendo que Form1 fuera tu TForm.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 04-04-2016
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.281
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
La otra opción es pasar directamente el DBGrid como parámetro o en el caso de un evento, utilizar el parámetro Sender.
__________________
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
  #4  
Antiguo 05-04-2016
mramos65 mramos65 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Mèxico
Posts: 26
Poder: 0
mramos65 Va por buen camino
Thumbs up Nombre de DBGrid (Activo) para exportar datos a Excell

Realice una funcion con los parametros TDbgrid y Tquery
Declarando en
Type
procedure ExpExcell(grid: tdbgrid; base: tquery);
Luego en
Implementation

Código Delphi [-]
procedure TForm1.ExpExcell(grid: tdbgrid; base: tquery); //Donde  Grid sera el nombre del Dbgrid seleccionado y base El query origen de los datos
 var
  excel:Variant;
  fila, columna:Integer;
begin
  with base, base.SQL do
    begin
      Close;
      Open;
      if IsEmpty then
        begin
          MessageDlg('No existen datos que reportar!', mtWarning,[mbOk], 0);
          Exit;
        end;
      TRY
        excel := CreateOleObject('Excel.Application');
      EXCEPT
        ShowMessage('Excel no se pudo iniciar.');
        exit;
      END;
      excel.Visible := true;
      First;
      fila          := 1;
      excel.Workbooks.Add;
      //Poner los títulos
      for columna := 0 to Grid.Columns.Count-1 do
        excel.Cells[fila,columna + 1].Value := Grid.Columns[columna].Title.Caption;
      fila:=2;
      //Desengachar controles para agilizar
      DisableControls;
      TRY
        while not(eof) do
          begin
            for columna := 0 to Grid.Columns.Count-1 do
              excel.Cells[fila,columna + 1].Value := FieldByName(Grid.Columns[columna].FieldName).asString;
            Next;
            inc(fila);
          end;
        //Ajustar columnas
        for columna:=1 to Grid.Columns.Count-1 do
        begin
        Excel.Columns[Columna].EntireColumn.AutoFit;
        end;

      EXCEPT
        ShowMessage('Atención, se produjo un error en la transmisión.');
      END;
      EnableControls;
    end;
end;
Debo mencionar que este procedimiento es autoria de otro usuario, solo modifique los parametros para realizar un procedimiento adaptable a mi necesidad.
y por ultimo llamando el procedimiento asi:
Código Delphi [-]
procedure Tform1.ExportaraExcell1Click(Sender: TObject);
begin
ExpExcell(DbGrid,TQuery);
end;
Esperando sea de utilidad para otros usuarios, GRACIAS
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
Saber si un proceso esta activo Anel Hernandez Varios 3 17-01-2012 19:17:16
Como saber si mi servidor de MySQL esta activo o corriendo. rgstuamigo MySQL 5 19-11-2008 22:54:01
Puedo saber el escritorio activo?? aeff API de Windows 0 19-03-2007 19:40:27
Saber usuario activo lucasarts_18 MS SQL Server 2 29-09-2005 16:19:29
Pregunta básica. Como saber si un valor está activo o no. gluglu Varios 3 16-09-2004 18:34:53


La franja horaria es GMT +2. Ahora son las 14:16:38.


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