Hoy vamos a aprender a comprobar si una tabla de Microsoft Access está vacía o si, por el contrario, contiene información usando VBA.
Muchos pueden ser los motivos por los que necesitemos realizar esta comprobación. En el ejemplo que os traigo (adjunto al final del post), realizaremos una actualización masiva de datos de una tabla desde un formulario pero, antes de hacerla, comprobaremos si dicha tabla se encuentra vacía o no.
En el archivo encontraréis dos tablas: "Articulos llena" y "Articulos vacia". Como sus propios nombres indican, la primera contiene registros y la segunda no.
También incluye dos formularios, cada uno asociado a una tabla: "Actualizar precios llena" y "Actualizar precios vacia".
En ambos formularios disponemos de un campo llamado "Margen" que, al pulsar el botón de Actualizar precios, se aplicará al precio de cada producto.
Por ejemplo, para el caso de la butaca que su precio es de 100€, si seleccionamos un margen del 20%, pasará a costar,
100 * (1 + margen/100) = 100 * (1 + 20/100) = 120€
Pero, ¿qué pasa si la tabla está vacía?
Posiblemente, al intentar actualizar sin existir registros, nos saltaría un error. Para ello, hemos implementado un trozo de código que va a realizar dicha comprobación, nos avisará mediante un msgbox si es el caso y no ejecutará la actualización de datos para evitar errores.
Private Sub Actualizar_Click()
'Comprobamos que el campo Margen esté relleno
If IsNull(Form!Margen) Or IsEmpty(Form!Margen) Then
MsgBox "Debe rellenar el campo Margen"
GoTo salida
End If
'Seleccionamos todos los registros de la tabla Vacia
Dim rs1 As DAO.Recordset
Set dbs = CurrentDb()
Set rs1 = dbs.OpenRecordset("Select * from [Articulos Vacia]")
'Si la tabla está vacía, avisamos y no seguimos ejecutando el codigo
If rs1.BOF And rs1.EOF Then
MsgBox "La tabla está vacía"
GoTo salida
End If
'Si la tabla no está vacía actualizamos el precio de todos los registros con el nuevo margen de beneficio
Do Until rs1.EOF
rs1.Edit
rs1!Precio = rs1![Precio] * (1 + (Margen / 100))
rs1.Update
rs1.MoveNext
Loop
'Actualizamos el subformulario de Materiales
Forms![Actualizar precios vacia].Requery
salida:
End Sub
Espero que con este ejemplo hayas aprendido cómo comprobar si una tabla de Microsoft Access está vacía usando VBA.
Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.
Hasta la próxima.
Si te ha servido y quieres donar
Descarga el archivo del ejemplo
Últimas publicaciones
0 comentarios