FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Decompilar un Programa Hecho en Access
hola amigo como estan les cuento que tengo un cliente el cual posee un sistema hecho completamente en access 2007 el cual pienso migrarlo a delphi pero a la hora de abrir el archivo me muestra directamente las ventanas del sistema y no puedo ver el diseno de la base de datos ni la relaciones que existen y todo lo demas ,hise una conexion con delphi y la base de datos pero no es suficiente ya que al momento de modificar la base de datos no podre hacerlo
alguien tiene una idea de como abrir este archivo en modo de diseno |
#2
|
||||
|
||||
Cita:
|
#3
|
||||
|
||||
por si no lo sabias en access hay un cierto grado de programacion mediante macro y procedimientos VBA
|
#4
|
||||
|
||||
Cita:
Piensa un poquito. ¿Cómo vas a descompilar algo que no está compilado? Access no es más que una fachada del verdadero motor Jet4. Ofrece algunas herramientas de diseño para hacer más "fácil la vida" pero eso no lo convierte ni tiene el potencial de llamarse un programa; hasta ni merece ser llamado un motor de base de datos (que se sobrentiende de lo que he dicho antes sobre fachada del Jet4). En Access no programas; punto. En todo caso si haces uso de VB en macros y/o módulos no estás usando Access, es una herramienta externa llamada Microsoft Visual Basic. Luego es que Access invoca a estas macros y módulos pero programación en Access... nada de nada. |
#6
|
||||
|
||||
Seguramente es alguna opción configurable para que se abra una pantalla determinada directamente.
No conozco access, pero puede que con un programita de esos "manager" puedas acceder a la base de datos. |
#7
|
||||
|
||||
Que yo sepa, una bbdd de access puede convertirse en una "especie de ejecutable"
Además, se puede indicar que se ejecute o lance algo ( script, formulario, ... ) automáticamente al arrancar. Además se puede proteger con contraseña. Qué haría yo: Para intentar cortar el comando lanzado al inicio, arrancar pulsando Shift/mayúsculas. Te tendría que salir la ventana de diseño, para seleccionar tablas, formularios, ... Si está protegida con contraseña, buscar por ahí un programilla de los que borran la password, por lo que te permitiría acceder a la bbdd. Nos cuentas cómo te ha ido. Informaros además de que Access es una herramienta estupenda para realizar informes, extracciones de datos de diferentes fuentes, ... Yo lo uso habitualmente, ya que estoy todo el día haciendo ñapas, informes de diferentes fuentes ( ficheros excell, sqlServer, otros ficheros access,...) , cruzo datos, ... Me ha salvado de muchos marrones, por lo que no deberiais mirarlo tan mal. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#8
|
||||
|
||||
Pues aunque parezca mentira sí se puede programar en Access, y no sólo con macros y demás, sino de una forma bastante completa
Antes de nada, para aclarar cosas, debemos llamar cada cual por su nombre. Access no es una Base de datos ni un Motor de Base de Datos; El motor de Base de Datos es Jet4 y la Base de datos son los ficheros MDB (similares a DBF o cualquier otro). Simplemente que los ficheros MDB además de almacenar tablas de la Base de Datos, pueden almacenar otras cosas (forms, listados, código,...). Siendo así: Podemos utilizar el motor Jet4 con otros ficheros que no sean MDB (por ejemplo DBF). Podemos utilizar Jet4 con ficheros MDB, sin usar Access (ADO). Entonces qué es Access. Access no es más que: (1) Programa de Gestión de Base de Datos, como puede ser IBConsole, IBExperts, SQLManager,... o cualquier otro que hay por ahí. (2) Access es un IDE de programación. La mayoría utilizan Access como Programa Gestor de Bases de Datos (con ficheros MDB), pero también hay quien programa con él. Access como he comentado también es un IDE de programación y muy potante aunque no lo parezca. La programación se hace utilizando Visual Basic. La "gracia" de este entorno es que además de la potencia de la programación tienes acceso a una serie de funciones a las que no tienes acceso desde fuera (desde el IDE de visual Basic o desde otros). Me explico. Desde VisualBasic/Delphi, puede llamar a una consulta SQL y para ello necesitas 10 líneas de código (por ejemplo). Desde Access puedes crear esa consulta de forma visual y llamarla por su nombre, con una línea. Desde VisualBasic/Delphi puedes crear listados y visalizarlos y para ello necesitas componentes externos. Desde Access puedes crear los listados y llamarlos con una sóla línea. Y el diseñados no tiene nada que envidiar a los que utilizamos nosotros. Access como entorno provee infinidad de procedimientos ya programados (por ejemplo en temas de exportaciones y busquedas), que puedes llamar directamente desde el código. Access tiene programadas muchas funciones a utilizar directamente en SQL que Jet4 no tiene. Sería como una extensión del SQL de Jet4, de forma que desde Access puedes utilizar un SQL más rico y potente que desde fuera contra Jet4. El diseñador de formularios y el generador de listados son similares al que podemos encontrar en Visual Basic o muchos otros lenguajes. Hablamos de lenguaje "interpetado". Por supuesto Debugger, ejecución por pasos, logs, watches, sintaxis,... bueno, todas las herramientas de cualquier IDE. Se pueden instalar componentes, ActiveX,... En cuanto a la ejecución, sí que hay alguna utilidad de Microsoft que permite generar un ejecutable, aunque personalmente no la he utilizado nunca. Lo que se suele hacer para "generar" los que llamamos programas es utilizar la Macro "autoexec". Si la macro está creada, se ejecuta de forma automática al entrrar. En esa macro lo que solemos hacer es inicializar lo que necesitemos y abrir el formulario Principal (Main). Esta es la manera de "arrancar" el programa. Hay una combinación de teclas (búscala por Internet) que al iniciar Access, si la tienes pulsada no ejecuta la macro autoexec; Esta es la manera de entrar, si quieres acceder al programa sin "arrancarlo". De esta forma tendrás acceso a las tablas, forms, listados, consultas, macros y los módulos de código. Por último, hay que decir que Access no sólo trabaja con MDB/Jet4, sino que lo que se suele hacer si se necesita potencia es generar la Interface de los programas con Access (formularios, listados, consultas,...) y utilizar como Gestor de Bases de datos algo más potente como SQL Server. Es decir, puedes crear una pequeña aplicación monopuesto/multipuesto(pocos) con Acces y si más adelante "necesitas más", hay un asistente de MS que te permite migrar eso a una estructura (Access+SQLServer), de forma que posees el "programa" en local con Access y las Tablas+SP+Vistas,... en un servidor SQL. Creo que ya está (lo que quería comentar). Espero haber ayudado a aclarar las cosas. Un 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. |
#9
|
|||
|
|||
Siguiendo con la respuesta de Neftali, yo personalmente conozco una aplicación para restaurantes, multipuesto y multicentro, con todo lo que te quieras imaginar: planos de mesas, control de stock, envíos entre locales, facturas, informes de ventas, etc ... todo hecho en access 2.0
Hace unos años no era tan entraño ver aplicaciones hechas en access, ahora ya es mas raro, pero poder se puede |
#10
|
||||
|
||||
Ok, todos odiamos Access.
|
#11
|
||||
|
||||
__________________
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. |
#12
|
||||
|
||||
Club Delphi,
Cita:
Cita:
Cita:
Cita:
Espero sea útil Nelson. Última edición por nlsgarcia fecha: 18-01-2013 a las 15:13:52. |
#13
|
||||
|
||||
¿Es como Clipper?
|
#14
|
||||
|
||||
No. Clipper era un sistema de programación que se creó inicialmente para trabajar con Bases de datos de DBase.
Clipper es anterior a Access. Piensa que clipper trabajaba en MS-DOS, en las versiones que tuvieron más éxito. recuero que hubo versiones para Windows, pero cuando salieron ya había perdido terreno frente a otros productos visuales como VisualBasic y Delphi.
__________________
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. |
#15
|
||||
|
||||
Disculpame Neftali pero difiero totalmente de tus dichos.
Access no es más que un "editor" de formularios e informes, que gracias a sus asistentes logra interactuar de una manera más sencilla con el motor Jet4. Pero de allí a asegurar de que es un verdadero IDE de programación, estamos muy errados. En el momento en que creas una macro o un módulo abandonas Access y entras a Visual Basic... ergo no haces programación en Access; solo es que tiene cierta característica de comunicarse con VB y se acabó. Que por como se ha diseñado Office se le permita ejecutar cosas escritas en VB es un agregado, una característica más. Pero eso no hace de Access un verdadero lenguaje de programación... Tendrá sus apariencias en el hecho de que en Access uno puede hacerse sus forms como por ejemplo en VB o Delphi, o para hacer Informes como cual lo hace uno en QuickReport. Access es un editor y fachada para hacer más fácil y llevadera algunas cosas. Tiene poderosos e interesantes asistentes visuales. Eso no lo voy a poner en duda si justo el año pasado le he hecho un archivo .mdb a mi prima con una base de datos, y unos formularios e informes para que les resulte más fácil organizarse en su trabajo. Algunos de los forms en verdad parecían una aplicación real con sus cuadros de texto, combos y botones. ¿Pero he programado? En realidad no... Más bien he diseñado "ventanitas". Por debajo de todo esto estará el motor Jet4 haciendo el verdadero trabajo, por debajo corren ciertas macros prediseñadas... por debajo. Todo oculto, y sólo mostramos algo bonito y sencillo para el usuario. Pero de todo eso a que se comporte como un lenguaje de programación que se precie como la gente... Por favor no podemos decir en serio que Access sirva para programar. Si quieres programar mal que menos elijes VB. Respecto a su SQL, ¿En serio dices que su SQL es una extensión? ¡Vamos hombre! Tiene sus tiquismises que hasta se salta cosas del estándar. Microsoft fue muy astuto e inteligente. Al dotar de la capacidad de llamar cosas de VBA y ofrecer esos asistentes a Access consiguió que al final muchos terminen llamando a Access como un verdadero motor de base de datos, y peor... que hasta lo comparen con un lenguaje de programación. Ya que tu dices que es un lenguaje de programación espero que tenga una muy buena biblioteca sobre lógica difusa que tengo un proyectito en mente y Delphi me queda chico. No es que sea anti-Access. Estoy en serio poniendo sus cosas en su lugar. Access es un asistente, puede ser muy útil, fácil e intuitivo. Para cosas medianas y básicas puede ser suficiente; pero tiene sus límites... límites en donde ya no basta unos formularios y la "programación" básica que le ofrece ese VBA, también se ve seriamente afectado a un tamaño máximo de archivo y la posibilidad de actuar en multi puestos. Saludos, |
#16
|
||||
|
||||
Cita:
Yo creo que sí es un IDE de Programación. Y el lenguage en el que programa es similar a visual basic (no igual). Yo en su momento (y esto es muy importante, porque no estamos hablando de IDE's actuales, sino de los IDE que había en 1998/2000) desarrollaba con Access y no tenía Visual Basic instalado. Ni el IDE, ni el compilador, ni ninguna de las herramientas relacionadas con VisualBasic, por lo tanto considero que Access era el IDE. No tenía otro. Más básico que los actuales, pero bastante avanzado con respecto a los otros que había en ese momento. IDE son las siglas de "Entorno de Desarrollo Integrado" y eso exactamente es lo que era Access en su momento. Desarrollabas desde Access y sin necesidad de nada más. Es muy fácil decir ahora que Jet4/MDB no es ni siquiera una Base de Datos, pero habría que ver qué "Bases de Datos" había en aquellos tiempos. ¿DBF's? ¿DataBase Desktop y los ficheros relacionados? es como decir que DBase ni siquiera es una Base de Datos. Está claro que ahora nos queda muy lejos, pero eso no quita lo que es. No podemos compararlos con la BD o gestores actuales, ni se les acercan, pero eso no quita lo que son. Creo que muchos de los comentarios que haces, es porque tienes en mente "lenguajes actuales", "entornos actuales", "Gestores actuales",... Personamente no lo escogería como IDE de desarrollo a día de hoy, no tiene sentido, pero en su día era de lo mejorcito que había en el mercado para determinados programas con determinadas características.
__________________
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. |
#17
|
||||
|
||||
de verdad que siento tener que escribir esto... pero este tema se abrio por un miembro, el que sea, haciendo una consulta, lo cual deduzco que si la hace es porque desconoce el asunto, o bien necesita y AGRADECE información....
he leido las contestaciones, y sin querer se ha abierto un debate que me parecería de lo más normal, lógito y correcto, peoi el motivo de este post creo e intento hacer llegaros que si mal no lo he entendido y leído, NO se le debe de haber dejado muy claras las ideas al iniciador de éste; eso si se le ha contestado, y aclaro antes de nada, a lo que en mi modesto entender NO ha sido todo lo correcto que se debiera: Cita:
el que se tenga que dar por aludido que se de, que me ponga a mi a parir, me da lo mismo, pero ante todo recordemos la finalidad de esta comunidad para malas contestaciones seguro que hay otros sitios y perdonar por mi chorreo, pues no soy ni miembro premium, ni moderador ni leches, es más seguro que soy el más ignorante de todos.......
__________________
online |
#18
|
||||
|
||||
Creo que Neftali le contestó en el mensaje #8
|
#19
|
||||||
|
||||||
Cita:
Tal vez al no decir nada más, no hemos ido por los "cerros de Úbeda". :-) PREGUNTA Cita:
Cita:
Cita:
Cita:
Cita:
RESPUESTA Tal vez sobre esto, es sobre lo que no hemos comentado nada, lo que sí necesitaríamos es más información. ¿Qué quiere decir que no puedes modificarla? Desde Delphi+ADO puedes modificar tanto los datos como la estructura de la Base de Datos, utilizando TADOTable o TADOQuery. ¿Te da algún error?
__________________
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. |
#20
|
||||
|
||||
Neftali yo comencé a usar Access desde la versión Office 97. De hecho lo empecé a tocar yo solo, sin tener idea de para que me podría servir... para cuando me dieron el curso de Access en la secundaria ya estaba más adentrado y tenía mi bases de datos para manejar la biblioteca de mi casa y otra en donde contaba con el registro de mis notas para hacer el seguimiento de como iba.
En verdad a mi nunca se me ha pasado por la cabeza llamar a eso un lenguaje de programación. Mi primer lenguaje de programación que he tocado con pleno cocimiento como muchos ya saben fue Pascal cuando ingresé a la facultad (podría llegar a decir que fue Logo cuando estaba en 5to de primaria pero para ese entonces para mi era un juego y no un lenguaje), de allí pase a Delphi, VB y .NET. Incluso en la cátedra de base de datos y en lenguajes jamás se nos dió por hacer el intento de llamar a Access (que si lo usábamos) como un lenguaje o de compararlo con uno. Se puede aceptar, con las debidas licencias, que Access es una base de datos y mal que bien no hay drama en eso ya que estamos acostumbrado a que se lo llame así. Pero jamás se puede decir que es un lenguaje de programación porque no lo es. Tiene ciertas cosas que quieren parecerse a uno pero no lo es. Fíjate que por algo lo he llamado Editor y no IDE. Porque lo que conocemos por IDE es mucho más de lo que es capaz de hacer el Editor que ofrece Access. De Desarrollo no tiene, pero de Diseño si que tiene. Parece cosa de semántica pero es más que eso. Que para los 90 o 2000 no había demasiadas cosas con las cuales uno se las pudiera ingeniar y que mal que bien Access, (incluso junto con Excel) se las aguanta quiere decir que supo (y aún sabe) demostrar su utilidad y puede funcionar. Pero el punto es que nunca fue pensado para algo demasiado profesional ni hacer verdaderas aplicaciones. Después de todo en el no desarrollas, diseñas. Access es de uso ofimático, por algo viene en la suite y así fue concebido. Si fuera en verdad algo más serio cabría preguntarnos ¿Entonces y para que es que existe MS SQL Server y Visual Basic? Y convengamos que Acccess (o quizá sea más apropiado MS Office), VB y MS SQL Server entraron en popularidad casi a la par y nacieron casi en simultáneo. Entonces, era en claro que ya se entendía la diferencia entre uno y otro para ese entonces. No por falta de algo más "moderno" en esos años podemos asegurar que Access en fue (y sigue siendo), un lenguaje de programación. Cuanto mucho podemos entenderlo como un entorno de diseño para base de datos con extensiones y capacidad de colaborar con lenguajes de programación. Es como decir que por utilizar GameMaker ya estás programando en serio un video juego... cuando sabemos que eso no es más que un utilitario. Ofrece cierta gramática de lenguaje (basado en scripts) conocida como GML pero es limitada. GameMaker es clasificado como un RAD, pero en serio ¿Harías un video juego profesional en él? Antes, ahora y mañana. Lo cierto es que independiente del tiempo... hay cosas que no se pueden tomar con ciertas licencias.. y una de ellas es estar diciendo que Access sirve para programar. No fue pensado para eso ni lo será. No tiene sustento semejante cosa. Y volviendo al hilo... Lo que tiene Kurono no es un .MDB; es un .MDE. Que está pensado para no habilitar el modo diseño y evitar que por accidente se altere algún formulario, informe o scripts. Esta característica fue pensada para aportar más seguridad desde la versión 2000. Hay ciertos utilitarios que permiten desbloquear el modo de diseño y poder ver los forms e informes de un .MDE. pero no es posible recuperar el código de los scripts ya que en realidad lo que se almacena en el archivo .MDE es ya el script compilado por Visual Basic. El "código" está en el script metido en el .MDB original. Si no tiene el .MDB imposible saber el código. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llamar un programa hecho en otro | ronald_tro | Gráficos | 5 | 23-02-2009 22:28:26 |
Ejecutar un programa hecho en turbo c++ | eljose | C++ Builder | 2 | 06-09-2007 19:36:05 |
Opinen sobre este programa que he hecho. | REHome | .NET | 3 | 05-08-2007 16:55:59 |
Problema Ejecutando un programa hecho en delphi | wpolanco | Varios | 2 | 05-05-2005 07:39:58 |
Como introducir un programa hecho en delphi, en un PDA | URBANO | Varios | 0 | 05-08-2003 09:53:00 |
|