CÓDIGOS DE BARRAS NATIVOS EN VBA PARA ACCESS
VBA NATIVO PARA CREAR CÓDIGO DE BARRAS QR Y 128
ANTECEDENTES
Teniendo en cuenta que en la Web principalmente en YouTube los videos sobre la creación de
códigos de barras QR, se limitan a ofrecer componentes Active X que son de pago o utilizan la API
de Google para obtener el código, lo que obliga estar conectados a internet, me propuse a elaborar
este ejemplo mediante la utilización de VBA nativo, lo que permite utilizarlo en Access de 32 o 64
bits sin ningún problema.
OBJETO
Facilitar a los desarrolladores de Access herramientas que faciliten la implementación de códigos de
barras en los tipos QR y 128 sin necesidad de utilizar herramientas de terceros, como Active X e
internet, agilizar el proceso de los informes porque no se utilizan archivos de imagen y permitir el
uso en versiones de Access de 32 y 64 bits, esto cubre Access 2003 hasta 2019.
METODOLOGÍA
Para el ejemplo se utiliza una base de datos con el nombre vbnativo_qr128.accdb. Consta de los
siguientes objetos: 2 Tablas, 1 Reporte, 3 Módulos de VBA.
No entro en detalle a explicar la creación de las tablas, no obstante, la tabla kanji debe existir
obligatoriamente en la base de datos, esta se requiere para la codificación japones de los códigos
kanji y no se debe modificar, tanto la estructura como el nombre. Los códigos de barras solo se
pueden obtener mediante la impresión o vista previa de impresión, no se pueden utilizar para
mostrarlos en formularios, realmente no tiene sentido.
Con el fin de abreviar la explicación se creó un solo informe que contiene los 2 tipos de códigos de
barras.
Tablas requeridas para el informe:
Kanji
tblterceros
Preparado por Eduardo Pérez Fernández, Colombia – 31/01/2022 eperezfer@[Link]
CÓDIGOS DE BARRAS NATIVOS EN VBA PARA ACCESS
DISEÑO DEL INFORME
EL informe tiene como origen de datos la tabla tblterceros, de ésta se obtiene la información para
los diferentes campos, también se puede asignar como origen de datos una consulta.
Texto del QR
Este campo contiene la información para el cuadro de texto donde se muestra el código qr, puede
ser el solo contenido de un campo de la tabla o varios campos concatenados como muestra la
imagen.
Como el origen del control sirve con fuente de datos para el código qr y puede tener información
variada le he asignado el nombre datos, ver imagen.
Hay que resaltar que el contenido de los campos puede codificar información como números, letras
y caracteres Kanji, este campo tiene como nombre “datos”. ¡algo que tendría un costo
comercialmente, pero ahora lo tiene gratis!
Preparado por Eduardo Pérez Fernández, Colombia – 31/01/2022 eperezfer@[Link]
CÓDIGOS DE BARRAS NATIVOS EN VBA PARA ACCESS
Si quiere más información sobre el código de barras QR puede consultar este link QR Code Tutorial
- [Link]
Cédula
Este campo solo lo utilizo en el ejemplo como origen de datos, no obstante, observe como asigno el
origen de datos del control y es el mismo a definir como origen de datos para el cuadro de texto
donde se presentará el código de barras 128.
Cuadro de texto independiente para presentar el código QR
Estas son las propiedades del cuadro de texto “independiente”
Preparado por Eduardo Pérez Fernández, Colombia – 31/01/2022 eperezfer@[Link]
CÓDIGOS DE BARRAS NATIVOS EN VBA PARA ACCESS
Realmente aquí hay que resaltar las propiedades:
Visible en Sí
Estilo de los bordes Transparente.
Efecto especial Sin relieve
Trate de utilizar las medidas del ancho y alto cercanas a las que muestra la figura.
¿Cómo se hace para obtener el código QR en el cuadro de texto?
Para esto se requiere del código VBA de los módulos:
ModuloBarcode y ModuloQRCode
Programamos en propiedades de Detalle el evento Al dar formato.
Este es el código:
Para el código qr llamo la función drawQuickResponse, que recibe 4 parámetros, pero solo son
obligatorios los 2 primeros, el tercero sería el nivel de la cadena y el cuarto la versión. En el ejemplo
solo utilizo los 2 primeros. [Link], es el nombre del cuadro de texto donde concateno la cadena
y Me.Texto10 es el nombre del cuadro de texto donde voy a mostrar el código QR. Los códigos de
barras solo se pueden ver al imprimir o en Vista preliminar. Obtengo algo como:
Preparado por Eduardo Pérez Fernández, Colombia – 31/01/2022 eperezfer@[Link]
CÓDIGOS DE BARRAS NATIVOS EN VBA PARA ACCESS
Cuadro de texto para el código 128
Hoja de Propiedades
Preparado por Eduardo Pérez Fernández, Colombia – 31/01/2022 eperezfer@[Link]
CÓDIGOS DE BARRAS NATIVOS EN VBA PARA ACCESS
Observe que se debe configurar Visible en No, estilo del fondo transparente, estilo de los bordes
transparente, configure el ancho de acuerdo con el número de caracteres que va leer el escáner.
Igualmente, el código de barras se programa en el evento Al dar formato como se explicó
anteriormente.
Para el código 128 utilizo la función SetBarData(), se asigna a una variable y se pasa a la función el
nombre del cuadro de texto y el nombre del reporte, en este caso basta con escribir Me, algo como:
result = SetBarData(Me.Texto10, Me)
Espero le sirva este ejemplo y evite pagar por software de terceros.
NOTA: Las funciones fueron tomadas de la web y no son de mi autoría, renuncio ante daños y
perjuicios que se deriven por el mal uso de este ejemplo. Para una nueva aplicación copie la tabla
kanji y los 3 módulos.
Preparado por Eduardo Pérez Fernández, Colombia – 31/01/2022 eperezfer@[Link]