Continuamos con la siguiente entrada al Blog con el objeto de insertar un botón para agregar un registro con los datos introducidos en el formulario. Por supuesto, lo que haremos será copiar nuestro botón, y le insertaremos el icono que más nos guste para este botón.
Realizaremos la macro Agregar y posteriormente se la asignaremos a nuestro botón.
Esta es la macro Agregar
With BBDD
'recuperando variable de los datos
Dim Id As Long
Dim Fecha As Date
Dim Tipo, Musculo, Ejercicio, Repeticiones, Peso As String
Dim Serie As Integer
'lo escrito en los espacios lo almacenamos en variables
Fecha = Formulario.Cells(5, 3)
Tipo = Formulario.Cells(7, 3)
Musculo = Formulario.Cells(9, 3)
Ejercicio = Formulario.Cells(11, 3)
Serie = Formulario.Cells(13, 3)
Repeticiones = Formulario.Cells(15, 3)
Peso = Formulario.Cells(17, 3)
'calculamos la ultima fila para poder ingresar el registro
Dim fila, filamax As Long
filamax = .UsedRange.Rows.Count
'obtenemos el codigo nuevo que es uno mas que el anterior
Id = .Cells(filamax, 1) + 1
'MsgBox Id
'grabar la fila nueva
'vamos a realizar una validación
If Fecha = Empty Then
MsgBox "El campo Fecha no puede estar vacio"
ElseIf Tipo = "" Then
MsgBox "El campo Tipo no puede estar vacio"
ElseIf Musculo = "" Then
MsgBox "El campo Músculo no puede estar vacio"
ElseIf Ejercicio = "" Then
MsgBox "El campo Ejercicio no puede estar vacio"
ElseIf Serie = 0 Then
MsgBox "El campo Serie no puede estar vacio"
ElseIf Repeticiones = "" Then
MsgBox "El campo Repeticiones no puede estar vacio"
Else
.Cells(filamax + 1, 1) = Id
.Cells(filamax + 1, 2) = Fecha
.Cells(filamax + 1, 3) = UCase(MonthName(Month(Fecha), False))
.Cells(filamax + 1, 4) = Year(Fecha)
.Cells(filamax + 1, 5) = UCase(Tipo)
.Cells(filamax + 1, 6) = UCase(Musculo)
.Cells(filamax + 1, 7) = UCase(Ejercicio)
.Cells(filamax + 1, 8) = Serie
.Cells(filamax + 1, 9) = Repeticiones
.Cells(filamax + 1, 10) = Peso
MsgBox ("Registro Completado")
'limpiamos los campos
limpiar
End If
End With
End Sub
Macro limpiar:
Sub limpiar()
With Formulario
.Cells(3, 3) = "" 'Codigo
.Cells(5, 3) = "" 'fecha
.Cells(7, 3) = "" 'Tipo
.Cells(9, 3) = "" 'Musculo
.Cells(11, 3) = "" 'Ejercicio
.Cells(13, 3) = "" 'Series
.Cells(15, 3) = "" 'Repeticiones
.Cells(17, 3) = "" 'Peso
'nos posicionamos
.Cells(5, 3).Select 'fecha
End With
End Sub
En principio comenzaremos crean una serie de variables que necesitaremos para agregar nuestro registro. Posteriormente le asignaremos el valor a cada variable de lo introducido en cada celda de nuestra hoja formulario.
La primera que hemos utilizado es el caso de :
Fecha = Formulario.Cells(5, 3).
Esto lo que hace es que la variable Fecha será igual a lo introducido en la hoja formulario, exactamente en nuestra celda de fila 5 y columna C. Y el resto igual.
En la segunda parte de la macro lo que hos hace es que la variable filamax nos calcula la ultima fila con datos y a partir de ahí le asignamos el valor a la variable Id el número siguiente al introducido en la última fila de la columna A.
Seguidamente lo que vamos a inscribir el nuevo registro, pero para ello realizaremos primero una validación, por si nos falta algún dato que no hayamos introducido. En el caso de que hayamos rellenado todos los campos nos introducirá el registro en la base de datos y nos mostrará un mensaje de Registro Completado, y posteriormente nos limpiará los registros, que esto lo tenemos en una nueva macro llamada limpiar.
La macro limpiar lo único que hace es que una vez realizado el registro nos limpia los campos de la hoja formulario y se posiciona en la celda de la fecha.
No hay comentarios:
Publicar un comentario
Gracias por participar en esta página.