Ver Mensaje Individual
  #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.329
Reputación: 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