Viernes, 26-Abr-24, 8:45 AM
Le saludo Visitante | RSS
Menú del sitio
Categorías de la sección
Búsqueda

byronlcl, Access y algunas cosillas...

Catálogo de archivos

Inicio » Archivos » Otros

En la categoría de los materiales: 8
Expuesto materiales: 1-8

Seleccionar por: Fecha · Nombre · Por calificación · Comentarios · Descargas · Vistas
¿Eres de los que no le ponen una contraseña de ingreso a tus bases de datos?
¿Eres de los que usan tablas para administrar a los usuarios?
Si tus aplicaciones cumplen con esas características las estas dejando muy vulnerables. Existen varias opciones de seguridad que se pueden quitar por automatización, en este ejemplo intento mostrártelo.
 
Este ejemplo saca una copia de la base de datos especificada, luego la copia es abierta y se le quitan las opciones de seguridad mas sencillas. ¿Quieres ver que tan segura es tu base de datos?, bueno, intenta desproteger tu base de datos.
Si tienes una base de datos con contraseña, pero conoces la contraseña, también puedes intentar desprotegerla. El ejemplo no funciona para bases de datos definidas con Seguridad por Usuarios propio de Microsoft Access
Otros | Vistas: 2526 | Descargas: 1172 | Agregado por: byronlcl | Fecha: 27-Sep-10

A veces necesitamos informarle al usuario que un proceso esta corriendo y deceamos que se vea el avance, en Access puedes usar la función:
SysCmd(Opción)
Que te da 'Opción' para mostrar una barra de progreso ó un texto de avance (ver ayuda para detalles de la función).

Pero si tu quieres mostrar un formulario donde se vea el progreso, aquí te pongo lo más sencillo del mundo, una imagen que crece y parece una barra de progreso. El toque bonito es la imagen que escojamos para mostrar el avance
Otros | Vistas: 1996 | Descargas: 774 | Agregado por: byronlcl | Fecha: 04-Jul-10

Ejemplo que muestra como se puede incrustar cualquier tipo de archivo a una tabla de Access, específicamente a un campo tipo Ole. También puedes observar como se puede recuperar el archivo incrustado y grabarlo de nuevo en cualquier carpeta/folder
 
Se me ocurrió elaborar este ejemplo porque a veces el programador necesita archivos extras necesarios para el buen funcionamiento de su aplicación, entonces, es posible mandar la base de datos con los archivos incrustados.
En un formulario de inicio se pueden comprobar si los archivos existen, si no, solo se extraen.
Otros | Vistas: 1309 | Descargas: 436 | Agregado por: byronlcl | Fecha: 04-Jul-10

Un herramienta/ejemplo sencillo para que puedas observar que usuarios están conectados a tu base de datos, también puedes ver desde que máquinas están accesando

Otros | Vistas: 1886 | Descargas: 682 | Agregado por: byronlcl | Fecha: 04-Jul-10

En este ejemplo puedes observar como revisar si un dato existe, como buscar datos, como obtenerlos y como filtrarlos.
Podrás encontrar 6 formularios con diferentes ejemplos que inician de los más sencillo y van subiendo de complejidad

1. Comprobar si un IdPrincipal existe:
Útil cuando estas ingresando nuevos registros. Se revisa en la tabla de origen si el dato ingresado ya existe y se informa al usuario en caso de existir. Se utilizan los métodos DCount y Dlookup
 
2. Buscar y obtener datos de un registro:
Te puede servir cuando estas ingresando por ejemplo una factura, en el momento de ingresar el IdCliente y deseas conocer otros datos relacionados, como su Nombre de compañia, dirección, teléfono, etc.
También se puede aplicar a encabezados de cotizaciones, envios, facturas de compra, etc.
Para la recuperación de datos se utilizan dos métodos, Dlookup y la apertura de un Recordset
 
3. Actualizar datos en cascada con dependencia en consultas:
Ejemplo que muestra como filtrar datos usando como origen de datos a consultas, estas tienen filtros de campos que son una referencia hacia campos del formulario.
Puedes ver como actualizar datos en cascada en cuadros de lista y en cuadros combinados
 
4. Actualizar datos en cascada sin dependencias:
Ejemplo que muestra como filtrar datos cambiando directamente el origen de datos, aquí todo se realiza por código VBA
Puedes ver como actualizar datos en cascada en cuadros de lista y en cuadros combinados
 
5. Buscar y filtrar datos aplicando filter:
¿Necesitas que los usuarios puedan buscar datos?
Esta es una buena opción para ofrecer, el usuario ingresa cualquier texto y se hace la busqueda y filtrado en varios campos simultaneamente, todos los campos que decees
 
6. Abrir informe filtrando campos, fechas, etc.
Con este ejemplo puedes ver como filtrar datos por un campo, por dos campos a la vez, por varios campos simultaneamente, filtrar usando fechas, períodos de tiempo, filtrar por datos aleatorios escogidos por el usuario, etc.
También puedes aprender a no generar un gran número de informes, un solo informe te puede servir de muchas maneras
Otros | Vistas: 3165 | Descargas: 1512 | Agregado por: byronlcl | Fecha: 04-Jul-10

En este ejemplo propongo una manera de llevar una Bitácora completa, osea el historial de cambios realizados a cada registro

¿Como se hace?:
La idea es sencilla, en el evento 'Form_BeforeUpdate/Antes de actualizar' se revisan los cambios efectuados al registro y se reportan en un campo tipo Memo ubicado en el mismo registro. De esa manera cada registro contiene su propio historial
Para poder llevar la bitácora es necesario agregar dos campos a cada tabla. Si al final te gusta la idea y deceas implementarla, en este mismo ejemplo viene un formulario llamado 'MSysAdministrarCamposBitacora' que te permite agregar dichos campos a todas las tablas de la base de datos automáticamente

-Byron, ¿Y si se eliminan los registros?
Bueno, ese es un planteamiento completamente diferente:
Cuando el usuario elimina registros, creamos una copia idéntica de la tabla de origen y le ingresamos los registros que están siendo eliminados. De esta manera, los registros realmente nunca se eliminan, solo estan cambiando de lugar, pasan a una tabla de respaldo que podemos consultar cuando sea necesario.
A dicha tabla de respaldo (de los registros eliminados) la llamaremos con el mismo nombre de la tabla de origen más un prefijo 'MsysRegElim_', por ejemplo:
Para la tabla 'Clientes' tendremos una tabla de respaldo que se llama 'MsysRegElim_Clientes'
En el momento de la creación de la tabla de respaldo, también se le agregan unos campos nuevos, donde se ingresan los datos de la eliminación del registro; fecha y usuario.
En esta base de datos de ejemplo vienen los siguientes objetos:
-Una tabla 'Clientes' (de la base de datos de ejemplo Neptuno)
-Un formulario 'Clientes Emergente' para realizar pruebas viendo registro por registro, en este podrás apreciar mejor el historial de modificaciones
-Un formulario 'Clientes Hoja Datos' para realizar pruebas viendo todos los registros, en el puedes hacer eliminaciones masivas de registros
Nota: En ambos formulario se lleva control de Bitácora y eliminación de registros
-Un módulo general 'byronlcl Bitacora' donde se encuentran las funciones que hacen posibles los procesos
Otros | Vistas: 3094 | Descargas: 826 | Agregado por: byronlcl | Fecha: 04-Jul-10

Solo para Access 2003 o superior

En este ejemplo puedes observar lo siguiente:

1. Como adjuntar un archivo de imagen a cada registro del Producto:
Se guarda la ruta del archivo en un campo del mismo registro, cuando se abre el registro se muestra la imagen, esta es como la imagen principal del registro.

2. Como relaciónar cualquier cantidad de archivos a cada registro del Producto:
Los archivos relacionados pueden ser de cualquier tipo, de imagen, sonido, video, Excel, Word, etc. La cantidad de archivos para cada registro no tiene límite pués se guardan en una tabla relacionada.
Cuando abres el formulario del registro del producto, también se te muestra un cuadro de lista con todos los archivos relacionados, donde puedes agregar archivos, eliminarlos ó abrirlos. Los archivos se abrirán en la aplicación que Windows tiene predeterminada para el tipo de archivo, esto se logra con una sencilla función de Shell
Otros | Vistas: 1637 | Descargas: 661 | Agregado por: byronlcl | Fecha: 04-Jul-10

Existen algunas razones por las cuales se pueda guardar un registro automáticamente y que a veces se nos sale de las manos:
-Se cierra el formulario
-Al cambiar de registro
-Al dar vuelta a la rueda del mouse (se cambia a otro registro)

Por ahí puedes conseguir unos ejemplos para desactivar la rueda del mouse, la cual es una muy buena opción para eliminar uno de los inconvenientes mencionados anteriormente.
En este ejemplo te presento otra opción para tener controlado el guardado del registro, que cubre las causas mencionadas
Otros | Vistas: 1584 | Descargas: 585 | Agregado por: byronlcl | Fecha: 04-Jul-10