FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Reportes de Access
Gracias por tomarse el tiempo para ver esto.
Mi problema es que necesito mostrar Reportes realizados en Access, desde Delphi, si me pudieran ayudar o recomendarme donde buscar, he buscado bastante y no he podido encontrar algo que me ayude. Agradesco su tiempo.
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#2
|
||||
|
||||
Te recomendaría investigar el TAccessReport de la paleta Servers, tengo entendido que por conexiones ADO / ODBC... Solo puedes acceder a las Tablas y Consultas de Access, los Formularios, Informes, Macros y Módulos, solo pueden ser accedidos desde el mismo Access, o un Automation Server, que no hace mas que utilizar una “partecita” del Access.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Vi este codigo en http://www.scalabium.com/faq/dct0083.htm
procedure TForm1.Button1Click(Sender: TObject); var Access: Variant; begin {open the Access application} try Access := GetActiveOleObject('Access.Application'); except Access := CreateOleObject('Access.Application'); end; Access.Visible := True; Access.OpenCurrentDatabase('C:\sistemas\gascan pc\db\gascan.mdb', True); Access.DoCmd.OpenReport('Rtest', acViewPreview, EmptyParam, EmptyParam); {close the database} Access.CloseCurrentDatabase; Access.Quit(acQuitSaveAll); end; pero me aparecen estos errores: [Error] Unit1.pas(35): Undeclared identifier: 'GetActiveOleObject' [Error] Unit1.pas(37): Undeclared identifier: 'CreateOleObject' agradesco la atencion a este novato
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#4
|
|||
|
|||
Para CreateOleObject y GetActiveOleObject necesitas poner en uses la unidad
ComObj |
#5
|
|||
|
|||
Gracias por tu sujerencia, ya se ejecuto mi programa, pero me marca un error:
EOleSysError with message "Operation Unavailable" y se posiciona en esta linea Access := GetActiveOleObject('Access.Application');
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#6
|
||||
|
||||
Hola.
¿ Tienes Access instalado en esa maquina ?. Es imprescindible. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#7
|
|||
|
|||
Si Claro tengo el MS Access del Office 2000 Profressional, me fije que si lo tengo abrierto y ejecuto la funcion de arriba me lo cierra
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#8
|
|||
|
|||
Gracias por su ayuda Julia y Guillotmarc
Ya Funciono algo esta mal en mi PC porque en otra PC si funciono, pero me abre toda la DB no solamente el Reporte que es lo que quiero para solo seleccionen imprimi y/o Grabar
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#9
|
||||
|
||||
Aquí tienes otro ejemplo:
var Access: Variant; begin {open the Access application} try Access := GetActiveOleObject('Access.Application'); except Access := CreateOleObject('Access.Application'); end; Access.Visible := True; { open the database The second parameter specifies whether you want to open the database in Exclusive mode} Access.OpenCurrentDatabase('C:\My Documents\Books.mdb', True); { open the report The value for the second parameter should be one of acViewDesign, acViewNormal, or acViewPreview. acViewNormal, which is the default, prints the report immediately. If you are not using the type library, you can define these values like this: const acViewNormal = $00000000; acViewDesign = $00000001; acViewPreview = $00000002; The third parameter is for the name of a query in the current database. The fourth parameter is for a SQL WHERE clause - the string must be valid SQL, minus the WHERE.} Access.DoCmd.OpenReport('Titles by Author', acViewPreview, EmptyParam, EmptyParam); <...> {close the database} Access.CloseCurrentDatabase; {close the Access application} {const acQuitPrompt = $00000000; acQuitSaveAll = $00000001; acQuitSaveNone = $00000002;} Access.Quit(acQuitSaveAll); end; Un Saludo. |
#10
|
|||
|
|||
Gracias por tu atencion marcoszorrilla
Gracias a el texto que me proporcionaste pude ingresar el parametro acViewNormal en lugar de acViewPreview y me manda directamente la impresion. Gracias a Todos por su ayuda, espero poder corresponderles
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#11
|
|||
|
|||
Necesito ayuda para usar una TAccessComponent de Delphi 7
Necesito utilizar un Reporte de Access 2000 desde una aplicacion desarrollada con Delphi 7, utilizando windows XP con SP2. Para ello utilizo los componetes TAccessComponent y TReportComponent de la barra de servers que proporciona el Delphi 7. Para poder invocar al reporte desde una Unit, puse un boton de prueba que ejecute el siguiente procedimiento:
AccessApplication1.Connect; AccessApplication1.Visible := True; AccessApplication1.OpenCurrentDatabase('C:\path hasta la base\base.mdb', True); AccessApplication1.DoCmd.OpenReport('Nombre del reporte', acViewDesign, EmptyParam, EmptyParam); AccessReport1.ConnectTo(AccessApplication1.Reports['Nombre del reporte']); Pero cuando ejecuto la aplicacion me da un error de 'Clase no registrada' al momento en que se intenta crear el formulario donde se utiliza las componentes mencionadas previamente. 1- No se que componente es la que no esta registrada, ya que no lo indica 2- Como registro una componente? |
#12
|
|||
|
|||
En que PC estas teniendo este error?
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#13
|
|||
|
|||
Reportes en Access 2000
Cita:
Si necesitas mas datos, avisame. En que influye la configuración de la Pc? Desde ya, muchas gracias. Fernando |
#14
|
|||
|
|||
Disculpa hice mal la pregunta, El problema es en la PC donde estas programando o en la PC donde estas instalando tu programa?
__________________
L.I. Leobardo Parra Ramírez leobardoparra@hotmail.com |
#15
|
|||
|
|||
Reportes en Access
El problema lo tengo en la Pc en la que estoy programando.
Desde ya muchas gracias Fernando |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|