Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2004
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Question Imprimer Informes

Hola foristas!

Un amigo me preguntó lo siguiente: ¿Hay manera de imprimir un informe realizado en Access desde VB? Como yo no tenía mucha idea de VB le dije que no sabía que decirle. El me dijo necesita imprimir un informe de una BD realizada en Access, el usó el "PrintForm" pero no es lo que quiere. Y realmente lo necesita pues el programa debe presentarlo lo más pronto posible.

Me preguntaba si alguien de aquí sabría cómo hacerlo. Me han comentado que una solución es copiar el código SQL generado por el Informe realizado en Access y transcribirlo al programa, pero tengo mis dudas.

¿Podría alguien aclararmelo?
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 07-09-2004
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.289
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
Cita:
Empezado por Delphius
Me preguntaba si alguien de aquí sabría cómo hacerlo. Me han comentado que una solución es copiar el código SQL generado por el Informe realizado en Access y transcribirlo al programa, pero tengo mis dudas.
Bueno, no se la solución con el tema de SQL, pero sí se puede imprimir un informe desde Delphi hecho en Access vía Automatización.
El código sería algo así:

Código Delphi [-]
// Explicadas más abajo
const
acViewNormal = $00000000;
acViewDesign = $00000001;
acViewPreview = $00000002;
// Explicadas más abajo
const
acQuitPrompt = $00000000;
acQuitSaveAll = $00000001;
acQuitSaveNone = $00000002;
var
Access: Variant;
begin
// Abrir Access
try
Access := GetActiveOleObject('Access.Application');
except
Access := CreateOleObject('Access.Application');
end;
Access.Visible := True;
// Abrir la BD
// El segundo parámetro es si la abres en modo exclusivo o no
Access.OpenCurrentDatabase('c:\temp\dbdemos.mdb', True);
// Imprimir el informe
{Primer parámeto es el nombre del informe
Segundo parámetro es el tipo de visualización:
const
acViewNormal = $00000000;
acViewDesign = $00000001;
acViewPreview = $00000002;}
Access.DoCmd.OpenReport('country', acViewNormal, EmptyParam, EmptyParam);
// Cerrar la BD
Access.CloseCurrentDatabase;
// Cerrar Access
{const
acQuitPrompt = $00000000;
acQuitSaveAll = $00000001;
acQuitSaveNone = $00000002;}
Access.Quit(acQuitSaveAll);

Crea un form con un botón y en click del botón el código anterior;
Cambia el path de la Base de Datos y el modo de abrirla; y puedes modificar si deseas abrir o imprimir el informe.

Recuerda que debes añadir al uses la unit ComObj para poder usar automatización.

Una saludo.
__________________
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
  #3  
Antiguo 07-09-2004
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Neftali, probé el código y funciona bien... pero hay un pequeño problema: debo trasnscribirlo en VB ya que mi amigo no tiene ni idea de Delphi y su programa está escrito en VB... y como mi experiencia en VB fue pobre, me cuesta muchísimo encontrar algún código equivalente.

Se que este foro se primeriza el Delphi, pero ¿Neftali (u otra persona) sabes cómo sería en VB?
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 07-09-2004
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.289
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
Creo que para eso deberías buscar en las páginas de Microsoft del MSDN.
http://msdn.microsoft.com/vbasic/downloads/samples/default.aspx
http://msdn.microsoft.com/code/default.aspx

Donde puedes encontrar código para casi cualquier cosa.
Muchos ejemplos suelen etar en VB así que no te debería ser difícil encontrar el código.

Además puedes revisar éstos links:
http://support.microsoft.com/?id=210111
http://support.microsoft.com/?id=210132
http://support.microsoft.com/default...b;EN-US;147816
__________________
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
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 00:47:41.


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