Aprende a elaborar tu Propio Sistema de Facturación desde 0 y crea tus propias Aplicaciones para tu negocio

Este módulo de clase realiza la conexión a acces y también la ejecución de sus consultas INSERT, SELECT, UPDATE, DELETE, WHERE, COUNT.

Consulta de datos

Ahora nos vamos a centrar  recuperar la información que nos interesa dentro de una base de datos, usando para ello el lenguaje de consulta o SQL.  Ya nos preocuparemos luego de cómo llegamos a introducir los datos primeramente.

Para realizar consultas sobre las tablas de las bases de datos disponemos de la instrucción SELECT. Con ella podemos consultar una o varias tablas. Es sin duda el comando más versátil del lenguaje SQL.

Existen muchas cláusulas asociadas a la sentencia SELECT (GROUP BY, ORDER, HAVING, UNION). También es una de las instrucciones en la que con más frecuencia los motores de bases de datos incorporan cláusulas adicionales al estándar, que es el que veremos aquí.

A continuación analizaremos cada una de las partes de la consulta para entenderla mejor.
SELECT

Permite seleccionar las columnas que se van a mostrar y en el orden en que lo van a hacer. Simplemente es la instrucción que la base de datos interpreta como que vamos a solicitar información.
ALL / DISTINCT

ALL es el valor predeterminado, especifica que el conjunto de resultados puede incluir filas duplicadas. Por regla general nunca se utiliza.

DISTINCT especifica que el conjunto de resultados sólo puede incluir filas únicas. Es decir, si al realizar una consulta hay registros exactamente iguales que aparecen más de una vez, éstos se eliminan. Muy útil en muchas ocasiones.
Nombres de campos

Se debe especificar una lista de nombres de campos de la tabla que nos interesan y que por tanto queremos devolver. Normalmente habrá más de uno, en cuyo caso separamos cada nombre de los demás mediante comas.

Se puede anteponer el nombre de la tabla al nombre de las columnas, utilizando el formato Tabla.Columna. Además de nombres de columnas, en esta lista se pueden poner constantes, expresiones aritméticas, y funciones, para obtener campos calculados de manera dinámica.

Si queremos que nos devuelva todos los campos de la tabla utilizamos el comodín “*” (asterisco).

Los nombres indicados deben coincidir exactamente con los nombre de los campos de la tabla, pero si queremos que en nuestra tabla lógica de resultados tengan un nombre diferente podemos utilizar:
AS

Permite renombrar columnas si lo utilizamos en la cláusula SELECT, o renombrar tablas si lo utilizamos en la cláusula FROM. Es opcional. Con ello podremos crear diversos alias de columnas y tablas. Enseguida veremos un ejemplo.
FROM

Esta cláusula permite indicar las tablas o vistas de las cuales vamos a obtener la información. De momento veremos ejemplos para obtener información de una sola tabla.

Como se ha indicado anteriormente, también se pueden renombrar las tablas usando la instrucción “AS”.
WHERE

Especifica la condición de filtro de las filas devueltas. Se utiliza cuando no se desea que se devuelvan todas las filas de una tabla, sino sólo las que cumplen ciertas condiciones. Lo habitual es utilizar esta cláusula en la mayoría de las consultas.
Condiciones

Son expresiones lógicas a comprobar para la condición de filtro, que tras su resolución devuelven para cada fila TRUE o FALSE, en función de que se cumplan o no. Se puede utilizar cualquier expresión lógica y en ella utilizar diversos operadores como:

Esta herramienta ha sido estructurada para que no tengas muchas complicaciones en la conexión a acces y también te familiarices con este entorno de forma amigable.

También te menciono que a este módulo de clase le llamaremos clsconexion, y será nuestra dll en un futuro Elaborada por Excelservicios.com así es que no olvides comentar los Créditos al copiar el Código.

Inserta un Módulo de Clase en tu Libro de Excel y descarga el Código de Abajo

NOTA SE CAMBIO EL MODULO DE CLASE ES SOLO PARA EXPLICAR COMO FUNCIONA SU PROCESO LO CUAL LO TRABAJAREMOS CON LA DLLADO QUE lo pueden descargar de los Videos 5, 6 y 7

MODIFICACIONES EN LA CONEXIÓN ACTUALIZADO 02/05/2016

Aquí el Tipo de Variables.

‘————————————————————-

‘Cadena de Conexión de Excel A Acces

‘————————————————————-

Function Servidor()

With cadena

.Ruta = ThisWorkbook.Path & “\Base\” ‘Carpeta de Intalación

.Base = “BFactura.accdb” ‘ Base de Datos

.Clave = “” ‘ Contraseña

.Tipo = 1 ‘ 0=mdb y 1=accdb

End With

End Function

Descargar Biblioteca

 

48 thoughts on “VBA Sistema Facturación #3

  1. Buen día Fernando, estoy siguiendo este tutorial pero no encuentro el archivo con el código del modulo de clase que comentas en el vídeo. Porfa indica como lo ubico.

  2. Buen dia, de antemano le felicito por los modulos educacionales. Este en General creo que me servirá de mucho.

    TENGO UN PROBLEMA: ” Es que no consigo el archivo para copiar la información que hay que colocar en un modulo de clase como usted lo explica…

    Si usted o alguno de los participantes en este modulo pudiera ayudarme, le agradeceria. Mi correo es angelescalona3904@yahoo.es

    Saludos,

      1. Es el mismo problema que yo tengo, ya que ELIMINASTE el código del módulo de clase que indicas en el video numero 3. Entiendo que a través del tiempo has hecho cambios a la programación, e incluso dejaste una dll para descargar y que sea todo más rápido, pero creo que es importante dejar el historial de lo que vas haciendo, y que la descarga de la dll sea opcional NO hacerla obligatoria, pues en tus videos explicas una cosa, y para llegar al punto donde explicas lo de la dll me imagino que nos harán falta un par de videos más por ver, entonces se pierde la continuidad de los tutoriales que has dejado a la comunidad que va comenzando en este mundo del vba.

  3. tengo una duda, esta libreria debo instalarla en los equipos que valla a utilizar esta aplicacion? es que aun no me queda claro para que sirve, y no se cuanto me pueda limitar al correrlo en otros equipos.

  4. hola Fernando, primeramente felicitarte por tus tutoriales son muy buenos, queria aprovechar esta para pedirte si me podrias indicar como puedo instalar el archivo DSIGADO-V.1 de ya te agradesco por tu desprendimiento deseandote exito y bendiciones.

  5. Hola, que tal, estaba siguiendo el tutorial, pero me imagino que a través del tiempo has realizado cambios al programa de facturación, sin embargo, como sugerencia te digo que si en tus videos explicas una cosa, y a través del tiempo realizas modificaciones, SIEMPRE debes dejar un historial de lo que vayas haciendo, ya que sino se pierde el sentido de los videos. Por ejemplo, voy en el módulo 3, y ahí dices, copien y peguen el siguiente código, pues no lo explicas ni nada, pero ahora que vengo a buscar el código, resulta que lo has ELIMINADO, entonces se pierde la gracia de los tutoriales, pues no permites la continuidad de los videos que explicas.

  6. hola Fernando buenos días de nuevo quiero felicitarte por tan excelentes vídeos y quiero pedirte un favor que me despejes la duda de como hago para no insertar la cadena que conecta el modo de clase con el procedimiento si no tengo modo de clase ya que lo quitaste porque ya no es necesario ahí me perdí me puedes ayudar por favor

    1. hola fernando de nuevo mira el error que me aparece como lo puedo arreglar por favor.

      Se ha producido el error ‘424’ en tiempo de ejecución:
      se requiere objeto

      1. Te Falta Registrar la Librería Puede Estar en Cualquiera de las 2 Rutas o en todo Caso Agrega la Referencia
        C:\Windows\SysWOW64\DllAdo.dll
        C:\Windows\System32\DllAdo.dll

        Si Quieres Registrar Manualmente Usa un Bloc de Notas y Lo Copias en la Misma Carpeta de Arriba y lo Ejecutas como Administrador
        @System 64
        regsvr32 %SYSTEMROOT%\SysWOW64\DllAdo.dll

        @System 32
        regsvr32 DllAdo.dll

        Ejemplo del Archivo: registrar.bat

  7. Mira yo ejecute el archivo que nos dejaste, pero lo ejecute en otracarpeta y lo movi a la carpeta C:\Windows\SysWOW64 y ya borre la cadena de conexion que nos habias dado y no quiere funcionar

  8. Mira asi tengo el codigo me puedes colaborar por favor…
    ”””””” DLL ADO ””””””’
    Public cadena As New ClsAdo

    Sub Cargar_mercancia()
    Me.Cmbmercancia.Style = fmStyleDropDownList
    Me.Cmbmercancia.Clear
    With cadena
    .ListaTabla (“SELECT * FROM Mercancia”)

    Do While Not .rst.EOF()
    Me.Cmbmercancia.AddItem .rst(“detallemercancia”).Value
    Me.Cmbmercancia.List(Me.Cmbmercancia.ListCount – 1, 1) = .rst(“idmercancia”).Value
    .rstMoveNext
    Loop
    End With

    End Sub

    Public Sub Cargar_unidades()

    End Sub

    Public Sub Cargar_categorias()

    End Sub

    Private Sub UserForm_Activate()
    Me.Cargar_mercancia

    End Sub

    1. Ojo No estas Creando la Conexión a Acces
      ‘————————————————————-

      ‘Cadena de Conexión de Excel A Acces – Copialo en un Módulo

      ‘————————————————————-
      Public cadena As New ClsAdo
      Function Servidor()

      With cadena

      .Ruta = ThisWorkbook.Path & “\Base\” ‘Carpeta de Intalación

      .Base = “BFactura.accdb” ‘ Base de Datos

      .Clave = “” ‘ Contraseña

      .Tipo = 1 ‘ 0=mdb y 1=accdb

      End With

      End Function

      Después de Ello en el evento Activate
      Coloca: Call Servidor

      Ojo El Código Reemplaza a la Clase

  9. hola de verdad muchas gracias por este tutorial es excelente y de gran ayuda..! pero tengo una pregunta

    ya instale el archivo que dices y lo que vi es que me creo una carpeta llamada “dllado” y dentro de ella un archivo llamado “Proyecto Factura”.

    Mi pregunta es la siguiente:

    Sigo usando el mismo libro que ya yo estaba editando o tengo que agarrar el de la descarga??

    espero tu pronta respuesta saludos.

  10. ok entonces seguire editando el mismo libro con el que empece pero vuelvo y te pregunto.

    a este libro (creado desde cero por mi) no tengo que agregarle ningún tipo de código adicional a los módulos los dejo tal cual como lo habías indicado hasta el video N° 2 y sigo con el siguiente paso que era crear el otro userform??

    disculpa la pregunta lo que pasa es que quede un poco confundido.! Saludos y muchisimas gracias

  11. Fernando que importante es que puedas facilitar el código que inicialmente mencionas en el modulo de clase, para analizarlo y aprender de este.

    ademas en los vídeos haces mension a ese modulo

  12. Buenos días Fernando.
    Estoy teniendo problemas con el programa. Al momento de ejecutarlo me envía un código de error 429 en tiempo de ejecución.
    UserDocumentos.Show
    Gracias….

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *