Ir al contenido principal

Macros en Access de Microsoft

Microsoft Access es un motor de base de datos que permite crear aplicaciones muy completas, es un software creado en los años 90, su lanzamiento fue en 1992 y aun continua presente en la versión 365. 

He visto a lo largo de mi vida profesional varias aplicaciones en Pymes principalmente por ejemplo:
  • Manejo de inventario
  • Manejo contable
  • TPV que quiere decir terminal punto de venta por ejemplo puede ser el software de una ferretería, una estética, una veterinaria... etc.
  • Una base de datos de control de alumnos
Otra ventaja que tienes es que puede utilizarse en computadoras de uso personal, no tan robustas como un equipo servidor. 
Como pueden ver Access es un ambiente muy versátil que permite crear aplicaciones en poco tiempo y pocos recursos. Tiene algunos  inconvenientes desde mi punto de vista que son:
  • No es WEB es decir solo funciona en computadoras donde este instalado Access o en la red con acceso a la aplicación.
  • Se requiere tener licencia de Access de Microsoft para poder desarrollar y ejecutar la aplicación.
  • No es funcional para almacenar mucha información. 
En Access al ser del Microsoft puede también utilizarse Macros.
En esta publicación les quiero enseñar un ejemplo de una aplicación que realicé para manejo de inventarios utilizando algunos Macros para hacer validaciones y obtener algunos datos de la base de datos con querys de SQL. 
Macros en Access



Les comparto un vídeo donde pueden ver un ejemplo de una macro que utilice en un proyecto de manejo de inventario por rollos en un almacén.




El código de una Macro en Access

Este ejemplo es sencillo pero interesante porque:
  • En la instruccion de Insert de SQL hay datos tipo fecha que para que los acepte el comando debes colocar así Format(Fecha_transaccion, "mm/dd/yy") 
  • Hay datos tipo numero que para que sea un valor válido debes colocar así  CStr(Cantidad) para hacer la conversión de numero a cadena.
  • El campo de cantidad lo tomo de un campo en el formulario que no esta en un campo de alguna tabla de la base de datos
  • En caso de que la transacción no se deba ejecutar existe el Undo que reversa la transacción Form_Rollos_salida_planta_v2.Undo


Option Compare Database

Private Sub Command21_Click()
If Text15.Value <= Cantidad_kilos Then
Cantidad_kilos = Cantidad_kilos.Value - Text15.Value()
End If
If Text17.Value <= Cantidad_metros Then
Cantidad_metros = Cantidad_metros.Value - Text17.Value()
End If

'Text17.Enabled = False
'Text15.Enabled = False

If Status_id = "Bloqueado" Then
    MsgBox ("No se puede realizar movimientos con status Bloqueado")
    Form_Rollos_salida_planta_v2.Undo
 Else
      Dim sql_cadena As String
      Dim Cantidad   As String
      Cantidad = Text15.Value
     sql_cadena = "INSERT INTO Transacciones_inventario (ID_producto, ID_usuario, ID_tipo_transaccion, " & _
                 "ID_producto_proveedor, Id_proveedor, Id_interno_pallet, Comentarios, " & _
                 "Cantidad, Fecha_transaccion, Fecha_caducidad ) " & _
                 "VALUES (' " + ID_producto + "', '" & _
                              ID_usuario + "', '" & _
                              ID_tipo_transaccion + "', '" & _
                              ID_producto_proveedor + "', '" & _
                              ID_proveedor + "', '" & _
                              Id_interno_pallet + "', '" & _
                              Comentarios + "', " & _
                              CStr(Cantidad) + ", " & _
                              Format(Fecha_transaccion, "mm/dd/yy") + ", " & _
                              Format(Fecha_caducidad, "mm/dd/yy") + " )"
                 
    'MsgBox sql_cadena
  DoCmd.RunSQL sql_cadena
 MsgBox ("Datos guardados")
 End If
End Sub

Espero esta pagina les sea de utilidad, nos sigan, nos compartan en este blog o en la página de Facebook https://www.facebook.com/Programacionparatodosmsg/

Comentarios

Entradas más populares de este blog

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Macro de Excel para abrir archivo csv

Hay veces que quieres abrir un archivo de Excel pero está separado por comas, punto y coma o por un pipe. Hay formas de hacerlos desde Excel. Les quiero compartir algunas opciones de como hacerlo y espero que les sean de utilidad. 1.Es abrir el archivo en Excel y utilizar la función de separar por columnas y seleccionar el delimitador, por ejemplo ";" 2. Es colocar "sep=;" en el primer renglón del archivo que quieres abrir y guardar en formato CSV y abrirlo en Excel y te lo abrirá separado en columnas. 3. Otra forma es con una macro, esté en mi gusto es la que más me funciona porque si hay alguna coma en la descripción o en alguna columna, si lo abres desde Excel te va a desacomodar las columnas.  Este botón te abrirá un pantalla para abrir el archivo que quieres separar y te lo abrirá en una hoja de excel ya separado. El código de la macro es el siguiente  Private Sub CommandButton1_Click() Dim sht As Worksheet Dim fnd As Variant Dim rplc As Variant Dim