Mostrando entradas con la etiqueta Macro. Mostrar todas las entradas
Mostrando entradas con la etiqueta Macro. Mostrar todas las entradas

2020-04-12

Almacenar fecha y hora al crear registros en Ms Access

Problema

Queremos almacenar la fecha y hora al crear un nuevo registro en Ms Access.

Solución

  1. En la tabla de destino creamos los campos deseados para almacenar la fecha. En nuestro ejemplo de manera demostrativa tenemos tres: Fecha y hora, Fecha y Hora.
  2. En la propiedad Formato especificamos el formato deseado: Fecha general (para mostrar fecha y hora), Fecha corta (para mostrar solamente la fecha), y Hora larga (para mostrar solamente la hora).
  3. En la propiedad Valor predeterminado especificamos =Ahora(), de esta manera cuando añadamos un nuevo registrará la fecha y hora actual automáticamente.

Notas

Podemos añadir la fecha y hora por registro de manera más sofisticada, dentro de un formulario de introducción de datos, por ejemplo cada vez que hagamos clic en un campo:

  1. Creamos la macro correspondiente para registrar la fecha y hora.
  2. En la vista de diseño del formulario, vamos a la hoja de propiedades del campo deseado, clic en la pestaña Eventos, y clic en la flecha del cuadro donde seleccionamos el nombre de la macro anteriormente creada.
  3. Al hacer clic en campo en el que hemos añadido dicho evento insertará el valor establecido en la macro.

2014-10-02

Enviar objeto de Access por correo electrónico

Title En Ms Access con la acción SendObject (enviar objeto) podemos enviar objetos de la base de datos por correo electrónico: tablas, consultas, informes, formularios o módulos.

Macro

En la macro en Vista Diseño seleccionamos dicha acción y completamos los argumentos correspondientes:

2007

2010-13

Los argumentos de la macro tienen un límite de 255 caracteres en todas las versiones. Una limitación importante en el caso del texto del mensaje y de los destinatarios (Para, Cc, Cco). Si queremos sortearla, creamos el código en VBA (en el apartado siguiente) o guardamos la macro como código VBA y lo editamos.

VBA

En Visual Basic, la sintaxis es:

DoCmd.SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

Si dejamos todos los argumentos en blanco, nos abrirá un correo electrónico sin mensaje u objeto adjunto.

DoCmd.SendObject 
Si completamos el tipo de objeto y el nombre del mismo, pero dejamos en blanco el formato de resultados, nos preguntará por el mismo al ejecutar el código.

DoCmd.SendObject acQuery, "Consulta1"
Para sobrepasar el límite de los 255 caracteres escribimos el texto correspondiente en cada argumento rodeado de comillas. Para dividir una cadena de texto demasiado larga en mitad de un argumento, cerramos las comillas y usamos el carácter & seguido de _. La continuación del argumento irá entrecomillada también, como en el siguiente ejemplo:

Sub EnviarObjeto()
DoCmd.SendObject acTable, "Tabla1", acFormatXLS, "usuario1@destino.com; usuario2@destino.com;" & _
"usuario3@destino.com"
End Sub

Referencias:
Método DoCmd.SendObject (Access)

2013-06-17

Guardar macro como código VBA en Ms Access

Las macros en Access son una buena manera de empezar a automatizar tareas y añadir funcionalidades a la base de datos sin tener que aprender código de VBA. Sin embargo, en algún momento tal vez necesitemos agregar funcionalidades no disponibles mediante el uso de macros. Una buena manera de empezar a familiarizarse con el código VBA en Access (contenido en módulos) es convertir (guardar) una macro en código VBA y examinarlo:

1. Hacemos clic sobre la macro que queremos convertir,


 clic sobre el Botón de Office , Guardar como, Guardar objeto como.

2. En Guardar 'Macro1' en, dejamos el nombre asignado por defecto y en Como elegimos Módulo y presionamos aceptar..


3.  Dejamos activadas ambas casillas de verificación y hacemos clic en Convertir

4. Clic sobre Aceptar
5. Se abrirá el editor de Visual Basic (VBE) y podremos ver la macro convertida en módulo y editar su código.


Nube de datos