PDA

Ver la Versión Completa : Decompilar un Programa Hecho en Access


kurono
18-01-2013, 01:52:20
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

Delphius
18-01-2013, 03:32:08
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
Vaya... así que ahora resulta ser que en Access se programa :D ¡Que bien! ¿Cómo es la sintáxis y gramática? :rolleyes:

kurono
18-01-2013, 04:09:43
por si no lo sabias en access hay un cierto grado de programacion mediante macro y procedimientos VBA

Delphius
18-01-2013, 05:07:00
por si no lo sabias en access hay un cierto grado de programacion mediante macro y procedimientos VBA
Ha... ¿Y sólo porque se puede poner esas macros y tocar algo de script VB (guácala) y hacer formularios como "ventanas ABM" merece ser etiquetado como un programa? Y que peor... ¿que hasta incluso se pudiera descompilar?

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.

Combat-F2D
18-01-2013, 07:56:20
Piensa un poquito. ¿Cómo vas a descompilar algo que no está compilado?

a lo mejor no lo sabe y por eso pregunta.... o no lo tiene tan claro

Casimiro Notevi
18-01-2013, 09:58:09
hola amigo como estan

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.

fjcg02
18-01-2013, 11:21:37
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

Neftali [Germán.Estévez]
18-01-2013, 12:01:34
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.

WkaymQ48
18-01-2013, 12:43:55
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 :eek:

Hace unos años no era tan entraño ver aplicaciones hechas en access, ahora ya es mas raro, pero poder se puede :)

MAXIUM
18-01-2013, 13:29:18
Ok, todos odiamos Access.

Neftali [Germán.Estévez]
18-01-2013, 13:36:48
Ok, todos odiamos Access.

No todos.
¿Porqué?

nlsgarcia
18-01-2013, 15:04:18
Club Delphi,



Microsoft Access, also known as Microsoft Office Access, is a database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools.

Tomado del link: http://en.wikipedia.org/wiki/Microsoft_Access




JET stands for Joint Engine Technology, sometimes being referred to as Microsoft JET Engine or simply Jet. Microsoft Access and Visual Basic use or have used Jet as their underlying database engine. It has since been superseded for general use, however, first by Microsoft Desktop Engine (MSDE), then later by SQL Server Express. Jet is now part of Microsoft Windows and is no longer a component of Microsoft Data Access Components (MDAC). For larger database needs, Jet databases can be upgraded (or, in Microsoft parlance, "up-sized") to Microsoft's flagship database product, SQL Server

Tomado del link: http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine




With version 2007 onwards, Access includes an Office-specific version of Jet, initially called the Office Access Connectivity Engine (ACE), but which is now called the Access Database Engine. This engine is fully backward-compatible with previous versions of the Jet engine, so it reads and writes (.mdb) files from earlier Access versions. It introduces a new default file format, (.accdb), that brings several improvements to Access, including complex data types such as multivalue fields, the attachment data type and history tracking in memo fields. It also brings security and encryption improvements and enables integration with Microsoft Windows SharePoint Services 3.0 and Microsoft Office Outlook 2007.

Tomado del link: http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine




Visual Basic for Applications (VBA) is the programming language for Microsoft Office and its associated applications. You use it for the same reason you use macros—to tie the objects in your application together into a coherent system. The difference is that VBA provides more power and a finer degree of control than you get by using macros alone.

VBA is a modern programming language that strongly resembles most of the popular, structured programming languages. If you're a Pascal or C programmer, you'll find all the program structures you're used to—loops, If...Then...Else statements, Select Case statements, functions, and subroutines—with only superficial differences. With all its improvements from earlier versions of Basic, VBA retains its English-like flavor and ease of use.

Tomado del link: http://msdn.microsoft.com/en-us/library/office/aa188202%28v=office.10%29.aspx

En resumen: Concuerdo plenamente con Neftali.

Espero sea útil :)

Nelson.

MAXIUM
18-01-2013, 15:56:59
¿Es como Clipper?

Neftali [Germán.Estévez]
18-01-2013, 16:02:27
¿Es como Clipper?

No. Clipper (http://es.wikipedia.org/wiki/Clipper_(lenguaje_de_programaci%C3%B3n)) 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.

Delphius
18-01-2013, 16:38:14
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. :D

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,

Neftali [Germán.Estévez]
18-01-2013, 17:05:25
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...

Nada que disculpar, cada uno tiene su opinión.

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.

Combat-F2D
18-01-2013, 17:20:15
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:

que si piensa un poco
que si tu tal,
que si no es un IDE

aqui parece que alguno, ojo puedo incluirme yo, parecemos los master del universo

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.......

Casimiro Notevi
18-01-2013, 17:24:31
Creo que Neftali le contestó en el mensaje #8 :)

Neftali [Germán.Estévez]
18-01-2013, 17:38:45
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:


En parte creo que tienes razón Combat-F2D; Por una lado sí que tal vez hemos divagado un poco, pero por otro lado sí se ha contestado a lo que ha pedido el usuario.
Tal vez al no decir nada más, no hemos ido por los "cerros de Úbeda". :-)

PREGUNTA
...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 ,
...alguien tiene una idea de como abrir este archivo en modo de diseno

RESPUESTA
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.

RESPUESTA
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, ...


RESPUESTA

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.

PREGUNTA
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



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?

kurono
18-01-2013, 18:16:18
hare el intento de Shift/mayúsculas luego les cuento

Delphius
18-01-2013, 18:18:05
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,

Neftali [Germán.Estévez]
18-01-2013, 18:42:46
...Lo que tiene Kurono no es un .MDB; es un .MDE.


Pero eso no se ha comentado.
Yo había entendido que tenía un archivo normal, simplemente con la macro autoexec creada y por lo tanto no entra en "diseño". Creo que no comenta eso en ningún sitio.

kurono
18-01-2013, 18:50:23
el archivo que tengo es un ACCDB que es el equivalente al MDB e conseguido ver las tablas con la combinacion de las teclas Shitf/bloq Mayus pero todavia no puedo modificarlas

mamcx
18-01-2013, 19:13:13
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.


Me parece que estas reformulando la definicion de IDE, editor, lenguage y base de datos para que no coincida con lo que esperas que es cada cosa.

Acces, definitivamente, es un IDE (IDE= Entorno integrado de desarrollo).

- Puedes hacer Bases de datos (muchos otros IDES no puden, o necesitan un plugin)
- Puedes editor codigo (sql & VB)
- Puedes hacer formularios, sequencias de navegacion, GUIs y demas. Algunos IDES no son TAN buenos para ello (*cough* XCode *cough*). Quienes estan acostumbrados a Delphi no saben lo malo que es esto en otros lares. Cuanto desearia que los demas IDES fueran tan buenos como Acces para hacer GUIS (ni siquiera Visual Studio!)
- Puedes depurar codigo
- Puedes hacer reportes de forma nativa. Muchos IDES no pueden y requieren controles externos
- Y muchas mas cosas

Obvio es pobre en otras cosas. Pero en el area de entorno *integrado* de desarrollo Acces/FoxPro es mas IDE que muchos otros.

Como programador en mis inicios de FoxPro & Visual Foxpro, en mis 15 años de estar en esto no ha salido NADA que sea mas productivo que Fox (que definitivamente, es el hermano "mayor" de Acces). En ningun otro entorno era posible ir de principio a fin de un programa sin integrar NI UN CONTROL ni CODIGO de terceros, y poder liberar un proyecto de complejidad mediana, completo, funcional y auto-contenido.

Para quienes no han usado algo de eso, no pueden apreciar lo mucho que se pierde con Visual Studio, Eclipse y XCode (que son los 3 grandes ahora).

Acces incluye un lenguaje de programacion, no solo VB:

SELECT * FROM Tabla

Lo anterior? ES un lenguaje de programacion.

Es claro, y no se discute, que Acces es una herramienta para un tipo de programador mas basico y que no se pueden hacer ciertos tipos de proyectos mas complejos. Tambien que no es nada practico si estamos hablando de un equipo de varios en un mismo proyecto (basicamente, es solo util para un unico programador - al contrario, Fox si se presta para un equipo pequeño).

Esta bien que Acces/VB tenga mala fama entre los programadores como nosotros, todo profesionales y eso. Pero de ahi a decir que no es un IDE, o no es un lenguaje, y todo eso? Es exagerar Delphius.

Hay todo un *universo* de lenguajes y entornos. Algunos son 100% visuales, sin nada de "codigo" a mano. Hay lenguajes de programacion basados en sonido (!). Hay lenguajes de programacion desde ANTES que existieran computadores. Una calculadora es un lenguaje de programacion. Excel es un lenguaje de programacion.

Que ciertos lenguajes sean mas o menos "pobres" es capacidades o funcionalidad? Pues obvio.

Un palo es una herramienta. Un computador tambien. Que el palo sea cientos de veces mas simple no le quita que sea herramienta. Que Acces sea un entorno mas simple y limitado a ciertos tipos de programas no le quita que efectivamente:

- Puedes programar, de forma imperativa, procedural, semi-oo con VB
- Puedes programar declarativamente con sql
- Se pueden hacer guis
- Se pueden hacer modelos, eventos, vistas, controladores y simular casi todo el rango de patrones de diseño y programacion
- Se puede hacer un lenguaje de programacion usando Acces
- Y todo, en la misma herramienta


-----

Lo ultimo que me gustaria alegar, es lo de que no se pueden hacer "verdaderas aplicaciones". Diantre, si se hacen aplicaciones con el adefesio que es JavaScript o PHP, porque decir que no es verdadero que una app en acdces le resuelve problemas reales a gente real? Que no sirve para hacer una app para manejar cientos de usuarios concurrentes (lo cual, es falso: Se puede acceder a Sql Server y otros motores con Acces y usarlo como fabricador de GUI)?

Delphi no sirve para hacer apps reales: No sirve para trabajar con kernels, drivers y demas.

Pues si limitamos que es real en base a casos de uso particulares, pues asi es muy facil. Pues eso explica "Y para que sirve Sql Server o VB" y todo lo demas? Porque nada sirve para todo.

Hay herramientas que se prestan para ser usadas de forma mas casual. Acces. FoxPro. JavaScript. GameMaker. HyperCard. Y otros no. C++ es una pesima forma de introducir gente a la programacion, o de hacer una aplicacion para la oficina (no le veo el estigma de que hayan aplicaciones para la oficina).

Elegir bien la herramienta es algo vital, y entender sus pros-contras. A veces hay que usar la maquinaria pesada, otras veces es hacer algo en 2 dias, venderlo muy bien, y no recibir en 7 años ni una queja del sistema (el unico que me ha pasado algo asi, y coincidencialmente, fue hecho en Acces! La app se quedo en la empresa hasta que crecio al punto que necesitaban un ERP completo, pero, de seguro ningun ERP va a ser tan simple, eficaz como esa app)

Delphius
18-01-2013, 19:15:33
el archivo que tengo es un ACCDB que es el equivalente al MDB e conseguido ver las tablas con la combinacion de las teclas Shitf/bloq Mayus pero todavia no puedo modificarlas
Aquí hay algo raro... si en verdad es ACDB/MDB al hacer uso del Shif para saltarse el macro de inicio inmediatamente debiera ser posible entrar al diseño y ver todo. A menos que se las pueda bloquear de alguna otra forma, no veo el porque no debieras poder modificar algo.

¿No estará conectada a un sitio de confianza o si?

Combat-F2D
18-01-2013, 19:22:45
En parte creo que tienes razón Combat-F2D; Por una lado sí que tal vez hemos divagado un poco, pero por otro lado sí se ha contestado a lo que ha pedido el usuario.

no me refería a eso si al tono que algunas veces empleamos para expresarnos, me incluyo; creo que ya sabemos lo que quiero decir; yo lo leo así.

en lo que a mi se refiere: punto y final del tema.

nlsgarcia
18-01-2013, 19:40:15
mamcx,


Acces, definitivamente, es un IDE...



Hay todo un *universo* de lenguajes y entornos...



Elegir bien la herramienta es algo vital, y entender sus pros-contras.


Excelente ^\||/ :)

Nelson.

Delphius
18-01-2013, 20:22:36
Me parece que estas reformulando la definicion de IDE, editor, lenguage y base de datos para que no coincida con lo que esperas que es cada cosa.

Pues no, no lo estoy reformulando.


Acces, definitivamente, es un IDE (IDE= Entorno integrado de desarrollo).

- Puedes hacer Bases de datos (muchos otros IDES no puden, o necesitan un plugin)
- Puedes editor codigo (sql & VB)
- Puedes hacer formularios, sequencias de navegacion, GUIs y demas. Algunos IDES no son TAN buenos para ello (*cough* XCode *cough*). Quienes estan acostumbrados a Delphi no saben lo malo que es esto en otros lares. Cuanto desearia que los demas IDES fueran tan buenos como Acces para hacer GUIS (ni siquiera Visual Studio!)
- Puedes depurar codigo
- Puedes hacer reportes de forma nativa. Muchos IDES no pueden y requieren controles externos
- Y muchas mas cosas

A ver... partamos del hecho de que Access es un utilitario para usar y explotar base de datos del motor Jet4. Pues bien, como utilitario tiene que ofrecer herramientas que faciliten y haga eso. Ni más ni menos.
Naturalmente que de algún modo debe:
1) crear y admnistrar base de datos
2) ofrecer la posibilidad de escribir scripts sql
3) ofrecer alguna interfaz, ya sea del tipo consola o algo más visual con menues, etc para ejecutar tanto el punto 2 como el punto 2.
Lo demás ya son agregados. No es fundamental que tenga Informes, o Formularios.
Si haces SQL entonces debes ahora ofrecer de algún modo la posibilidad de depurar esto y corregir. Esto no hace de Access un lenguaje ¿verdad?

Si les pusieron esas cosas fue un buen logro y le ha dotado de capacidades que para una oficina chica a mediana les hará más fácil la vida y no tener que comprar mil y un cosas. Es interesante que tenga eso. El uso de esos asistentes no lo convierte en un IDE. Responden a una necesidad mediana que en una oficina, el hogar o emprendimiento mediano quisiera tener... como los informes.

Access responde, con más o menos chiches, y se limita al área de base de datos.
¿Porqué debiera de tener más, y sólo porque se puede comunicar con VB se llama IDE?

A un Manzano le vas a pedir manzanas, no peras. A Delphi no le voy a pedir que me cree base de datos... para eso hay algo ya pensado.
Al final resulta ser que Access es un IDE porque lo han "inflado" y se mete en otras áreas. Menuda cosa. Bajo esa premisa entonces resulta que Delphi es un IDE porque además de programar puede servir para hacer UML.
Asi que resulta que IDE = aplicaciones infladas con muchos chiches integrados para hacer lo que no deben hacer.

A ver... el hilo comenzó con la pifia de que en Access se programa, entonces es un IDE de programación. Vengo demostrando que no lo es... que justamente tal programación se hace vía script en un IDE/Lenguaje, externo, llamado Visual Basic.

Parece que se han olvidado que el concepto de IDE hace en exclusiva a los lenguajes de programación general y de desarrollo.


Acces incluye un lenguaje de programacion, no solo VB:

SELECT * FROM Tabla

Lo anterior? ES un lenguaje de programacion.

Vaya... recién me entero que a partir de la última actualización del estándar resulta que SQL es un lenguaje de programación general. Que yo sepa SQL es un lenguaje de programación de propósito especial. Para el caso, en exclusiva para los sistemas de gestión de base de datos.


Esta bien que Acces/VB tenga mala fama entre los programadores como nosotros, todo profesionales y eso. Pero de ahi a decir que no es un IDE, o no es un lenguaje, y todo eso? Es exagerar Delphius.

Es que no exagero. Ni estoy inventando... Estoy separando las cosas. Una cosa es un lenguaje de programación y otra es ser un utilitario que explote a uno. Si debiera de entender a Access como un lenguaje porque entiende de SQL entonces ¿Firebird también lo es? Una cosa es el Lenguaje estandarizado y otra son los motores que deben soportarlo lo más fiel posible.


Hay todo un *universo* de lenguajes y entornos. Algunos son 100% visuales, sin nada de "codigo" a mano. Hay lenguajes de programacion basados en sonido (!). Hay lenguajes de programacion desde ANTES que existieran computadores. Una calculadora es un lenguaje de programacion. Excel es un lenguaje de programacion.

A ver... por empezar ya estás confundiendo Paradigma con Lenguajes. En 2do lugar no interesa si es visual, o por sonido. O si los lenguajes vienen desde antes de los picapiedras.
Existe una distinción entre lo que es programar de lo que es diseñar, y lo se lo ha hecho justamente para sea posible al día de hoy en cierto modo separar la parte lógica de la interfaz.
Antiguamente los lenguajes de programación no tenían demasiadas opciones y no era posible (capaz que hasta ni se imaginaban) separar lógica de interfaz puesto que el paradigma de ese entonces no les daba la posibilidad.
Con el mismo avance de la informática los paradigmas fueron madurando y han ido paulatinamente haciendo claras separaciones. Una de esas distinciones fue justamente lo que se entiende por lenguaje de programación general del lenguaje de programación de propósito especial como SQL. Cómo lo implemente o de soporte, cada utilitario, o IDE ya es secundario.


Un palo es una herramienta. Un computador tambien. Que el palo sea cientos de veces mas simple no le quita que sea herramienta.

Yo no dije que Access no sea una herramienta. De hecho lo vengo diciendo cada vez que digo utilitario. Simplemente acoto que Access no es para programar aplicaciones.


- Puedes programar, de forma imperativa, procedural, semi-oo con VB

Si para "programar" con dicho paradigma debes emplear de forma externa otra cosa que fue diseñada justamente para eso entonces quiere decir que la primera no está pensada para eso. Ergo: Repito y sostengo al infnito: EN ACCESS NO SE PROGRAMA, ¡que lo están haciendo en el entorno de Visual Basic!


- Puedes programar declarativamente con sql

Este... si no tiene soporte de alguna forma para SQL ¿de que sirve entonces? Este... Access es un utilitario para realizar y diseñar bases de datos que trabaje con el motor Jet4. Y como el motor Jet4 está soportado y basado en SQL ergo, Access debe tenerlo.
Sin el Access pierde sentido.


- Se pueden hacer guis

Opcional. Y ya lo he explicado.


- Se pueden hacer modelos, eventos, vistas, controladores y simular casi todo el rango de patrones de diseño y programacion
- Se puede hacer un lenguaje de programacion usando Acces
- Y todo, en la misma herramienta

Si fantástico... pero eso no lo convierte en un IDE. Repito se están olvidando del contexto en el cual descansa el concepto de IDE.


-----

Lo ultimo que me gustaria alegar, es lo de que no se pueden hacer "verdaderas aplicaciones". Diantre, si se hacen aplicaciones con el adefesio que es JavaScript o PHP, porque decir que no es verdadero que una app en acdces le resuelve problemas reales a gente real? Que no sirve para hacer una app para manejar cientos de usuarios concurrentes (lo cual, es falso: Se puede acceder a Sql Server y otros motores con Acces y usarlo como fabricador de GUI)?

Si en verdad Access genera aplicaciones, ¿entonces porqué se abre este o se necesita que esté ejecutándose EN Access? Access es un utilitario y fachada. No genera una aplicación como tal... administra un archivo .mdb/.accdb y te hace creer que se comporta como una aplicación... pero no lo es.
Que uno utilice esos archivos como si fuera una aplicación y así se convenza ya es otra cosa. Pero siendo precisos... no es una aplicación. En tu cabeza y a tu percepción porque te ha logrado permitir resolver de una forma más o menos elegante (que si, admito que pueden ser muy chulas las "ventanitas" que uno consigue en Access) le llamas aplicación, y así lo ven muchos usuarios. Pero se supone que somos informáticos y debemos ser lo más precisos, y decirlo en claro: access no genera programas, no compila exes. ¡Basta por favor!

Saludos,

MAXIUM
18-01-2013, 20:41:35
OK, propongo castración y lapidación pública al creador de este tema :)

Al González
18-01-2013, 21:05:26
Creo que lo mejor sería que Delphius abriera, en la sección Debates, un nuevo hilo para disertar sobre si Microsoft Access es o no es lo que sea que sea o no sea. Después de todo, demuestra ser el mayor interesado en debatir sobre ello y el menos interesado en ayudar al compañero que hizo la consulta inicial.

maeyanes
18-01-2013, 21:11:20
Hola...

Ande no, y yo que siempre creí que Delphi era un IDE... :p


:D :D

Saludos...

nlsgarcia
18-01-2013, 22:29:12
kurono,


El archivo que tengo es un ACCDB que es el equivalente al MDB e conseguido ver las tablas con la combinacion de las teclas Shitf/bloq Mayus pero todavia no puedo modificarlas.



What are MDB / ACCDB files:

MDB and ACCDB files are Microsoft Access Database files. ACCDB is the newer format to the original MDB file. Both Accdb and MDB files can be opened with MDB Viewer Plus.
Revisa estos links:

1- What is an ACCDB File?
http://pcsupport.about.com/od/fileextensions/f/accdbfile.htm

2- Access File Formats: ACCDB vs MDB
http://databases.about.com/od/access/a/accdb.htm

3- Welcome to Allen Browne's tips for Microsoft Access
http://allenbrowne.com/tips.html

4- Portable database utility: MDB Viewer Plus
http://www.alexnolan.net/software/mdb_viewer_plus.htm

MDB Viewer Plus is a free viewer plus editor for opening Microsoft Access MDB and ACCDB database files. It does not need to be installed to run. It uses Microsoft Data Access Components (MDAC) which is installed as part of Windows.

5- Convert a database to the .accdb file format
http://office.microsoft.com/en-001/access-help/convert-a-database-to-the-accdb-file-format-HA010341552.aspx

6- Save an Access 2010 database in an earlier file format
http://office.microsoft.com/en-001/access-help/save-an-access-2010-database-in-an-earlier-file-format-HA010341553.aspx
Quizás puedas considerar salvar el archivo ACCDB de Access 2007/2010 a MDB como se indica en el Link 6.

Espero sea útil :)

Nelson.

Caral
18-01-2013, 22:54:24
Hola
Se puede cambiar la BD access de 2007 a 2003, luego se cambia de nombre, se entra, se sigue con contraseña se baja un programita gratis para que te diga cual es, despues se puede hacer lo que sea.
No me acuerdo si se podia ver como estaban hechos los formularios con access, creo que no se puede, pero una vez teniendo la BD lista sera facil ver que hace el programa y copirlo en delphi.
Saludos

kurono
18-01-2013, 23:01:08
ya e intentado guardar el archivo como documento de office 2003 y la opcion de guardar esta desabilitada

se que en este club no se realiza tarea y tampoco estoy pidiendo que me la hagan pero al que quiere darle un vistaso al archivo aqui se lo dejo y si alguien encuentra la solucion que me la explique y yo lo hare

http://pc-master.99k.org/ALMACEN.rar

Caral
18-01-2013, 23:11:19
Hola
No se que es lo que necesitas revisar al abrir el archivo esta la BD con sus tablas a las cuales tengo acceso completo, modificar y todo, luego estan los formularios los cuales no se pueden modificar o no se como hacerlo y los informes.
Saludos

nlsgarcia
19-01-2013, 00:33:35
Kurono,

Te comento:

1- Abrí la BD de ALMACEN.accdb con MS Access 2010 presionado las teclas Shift+Mayúsculas y tengo acceso total a las Tablas, Formularios y Reportes.

2- Salve la BD en formato MDB de Access 2002-2003 y esta conserva aparentemente las características de seguridad del formato ACCDB, pero presionado las teclas Shift+Mayúsculas tengo acceso total a las Tablas, Formularios y Reportes.


La BD en formato MDB esta dispobible en el Link: https://www.box.com/s/qq7mt5d5g79u2z74mti5

Duda: ¿Que versión de Access utilizas?, asumo que Access 2003 según el Msg #34.

Verifica si la BD Almacen en el formato MDB del Link anterior es modificable en tu versión de Access.

Espero sea útil :)

Nelson.

kurono
19-01-2013, 02:46:22
tengo el Office 2007 ustedes me dicen que lo pueden abrir en modo de diseno y modificar los campos agregar quitar etc...

a mi no me abre en vista de diseno eso esta raro bueno el caso es que baje la version en MDB y si esa si me abre en vista de diseno gracias por la ayuda

nlsgarcia
19-01-2013, 02:48:51
Kurono,

Te comento:

1- Subí nuevamente la BD Almacen en formato MDB al mismo Link del Msg #36 pero en esta oportunidad deshabilite la ejecución del formulario inicial ADMIN y habilite el menú de Access completo.


La BD en formato MDB esta dispobible en el Link: https://www.box.com/s/qq7mt5d5g79u2z74mti5


2- Usando Access 2010 la BD Almacen en formato MDB Access 2002-2003 es totalmente modificable y tengo acceso total a las Tablas, Querys, Formularios y Reportes.

3- La tecla para hacer Bypass de las opciones iniciales predeterminadas en Access es Shift mientras se carga la aplicación.

4- Si quieres iniciar manualmente la aplicación en Forms selecciona ADMIN y con el boton derecho abre el formulario, esto iniciara el programa.

5- Revisa este link:

Bypass startup options when you open a database
http://office.microsoft.com/en-001/access-help/bypass-startup-options-when-you-open-a-database-HA010226996.aspx?CTT=5&origin=HA010336239



Tengo el Office 2007 ustedes me dicen que lo pueden abrir en modo de diseno y modificar los campos agregar quitar etc...

En Access 2010 tanto en formato ACCDB como MDB tengo acceso total a la BD, debería ser igual en Access 2007 y más aun con la BD en formato MDB de Access 2002-2003 y sin opciones iniciales de ejecución.

Espero sea útil :)

Nelson.

kurono
19-01-2013, 02:59:26
me autorespondo de nuevo resulta que ahora el archivo original accdb al abrirlo con la combinacion de tecla me permite verlo en vista de diseno cosa que no me lo hacia horas atras eso es algo raro pero ya solucione me problema gracias nuevamente a todos

Delphius
22-01-2013, 21:06:20
Creo que lo mejor sería que Delphius abriera, en la sección Debates, un nuevo hilo para disertar sobre si Microsoft Access es o no es lo que sea que sea o no sea. Después de todo, demuestra ser el mayor interesado en debatir sobre ello y el menos interesado en ayudar al compañero que hizo la consulta inicial.
No tengo interés en debatirlo, cuando no tiene sentido. Les podrá haber parecido pesada mi actitud pero es que lo que he dicho desde el comienzo sobre Access es cierto. Y si hay algo en que voy a poner énfasis es justamente en decir las cosas como son: en Access no se programa, Access es para diseñar base de datos del motor Jet4 y administrarlas. Ofrece un entorno con buenos asistentes que permiten explotar dichas base de datos, pero este entorno no es un IDE.
El concepto de IDE es exclusivo a los lenguajes de programación general. Y así ha quedado definido desde hace ya un buen tiempo, no lo he adaptado a mi gusto como comenta Mamx. Más bien yo diría que son otros quienes están tomando y abusando del concepto de IDE.

Un error muy frecuentemente visto en la colectividad de informáticos es la expresión "voy a programar una base de datos". Eso es muy hablado, y se supone que hay que ser lo más correctos y precisos. Lo sabemos, pero algunos tienen esa mala costumbre muy arraigada, y entendemos perfectamente que en realidad estamos diseñando una base de datos. Las bases de datos se diseñan, por más que SQL sea un lenguaje de programación (y para ser más precisos, habría que decirle el 2do apellido... programación especial [o también hay quienes prefieren el término dedicada]) no quiere decir inmediatamente estamos programando [en] una. Lo que si podría ser aceptado y catalogado como programación en el contexto de las bases de datos es cuando uno escribe los disparadores y procedimientos almacenados; es decir la parte procedimental ya que allí si reside el aspecto lógico/procedimental que caracteriza a un lenguaje de programación. Allí si sería válida una posible discusión; y bienvenida sea puesto que si hay una comunidad dividida en este punto... los hay quienes llaman a esto programación, y los hay quienes prefieren seguir llamándolo diseño.

Pero fuera de lo que es lo procedimental (triggers, procedimientos almacenados) no es válido hablar de programación. Access justamente al no tener soporte para esto ofrece otros medios que le permitan reemplazar, sustituir, complementar y equipararlo. Uno de esos medios es aprovechar algo hecho en un lenguaje de programación, de forma externa. Más eso no hace ni convierte de Access un lenguaje de programación.

Que en el pasado, y aún ahora, Access haya sido capaz de ofrecer una buena respuesta a ciertas necesidades que podrían equipararse a un sistema propiamente dicho no lo discuto. Entiendo que así lo quieran ver, pero el punto es que es necesario, y disculpen mi pesadez, pero es muy hablado en llamar a eso una aplicación cuando es en realidad un archivo con nuestra base de datos, para usarla debemos emplear Access. En todo caso Access es la aplicación.

Yo no tengo ganas de discusión, simplemente he tenido el debido interés en señalar algo muy mal hablado y visto en el área de informática. Y siendo honesto me cuesta creer que proviniendo de Neftali y Mamx que son 2 de algunos ejemplos de los profesionales que se destacan en el foro no hagan un esfuerzo mayor en haber dicho las cosas como son y separar Access de VB.
Yo no soy el mejor, ni pretendo serlo; ni me lo considero; pero mientras voy haciéndome de conocimientos, me estoy dando cuenta de que hay muchas cosas que hay que ir corrigiendo y sacando. Si ha mi se me intenta corregir, ¿porqué no ha otros más?
En serio, a ver díganme que en ésta estoy equivocado y todo lo que he dicho no goza de un sustento alguno ¿Me he arrebatado el concepto de IDE? ¿Confundo lo que es SQL con un lenguaje de programación general? ¿Que acaso ya no hay distinción entre Diseño y Desarrollo?
Venga... no sabía que era el único mal hablado.

Saludos,