If fraAplicaciones.Visible Then Text8.Enabled = True
Text8.Text = ""
Text9.Text = ""
End If
En la opción de Grabar, agregamos el código correspondiente a la Tabla Aplicaciones y modificamos algo el código anterior, a continuación mostramos el código para esta opción:
If fraClientes.Visible Then
rs.Fields("IdCliente") = Text1.Text
rs.Fields("Nombre") = Text2.Text
rs.Fields("Direccion") = Text3.Text
rs.Fields("Telefonos") = Text4.Text
rs.Fields("Celular") = Text5.Text
rs.Fields("Fax") = Text6.Text
rs.Fields("ValorHora") = Text7.Text
End If
If fraAplicaciones.Visible Then
rs.Fields("IdApp") = Text8.Text
rs.Fields("Aplicacion") = Text9.Text
End If
Rs.Update
Note que el Update lo colocamos al final y colocamos dentro de una instrucción if los datos para clientes y los datos para las Aplicaciones.
Vamos a trasladar la instanciación del objeto recordset rs al evento Load de la forma, lo eliminamos de la opción Nuevo de Clientes y lo colocamos en el evento Load de la forma . Entonces el código para los menús de Clientes y Aplicaciones quedaría de la siguiente manera:
Case "mnuTabClientes"
'CLIENTES
fraClientes.Top = 0
fraClientes.Left = 30
fraClientes.Visible = True
ActivarMenu mnuAccion
'Abro el recordset
rs.Open "Clientes", cnn, adOpenDynamic, adLockOptimistic
Case "mnuTabApp"
'APLICACIONES
fraAplicaciones.Top = 0
fraAplicaciones.Left = 30
fraAplicaciones.Visible = True
ActivarMenu mnuAccion
'Abro el recordset con la tabla Aplicaciones
rs.Open "Aplicaciones", cnn, adOpenDynamic, adLockOptimistic
Muy bien... ha llegado la hora de colocarle código a los botones de navegación que tenemos, entonces nos vamos al procedimiento MenuBar1_ButtonClick y colocamos el siguiente código:
Private Sub MenuBar1_ButtonClick(ByVal Button As MenuBarLib.MenuBarButton)
Select Case Button.Key
Case "btnInicio"
rs.MoveFirst
Case "btnPrevio"
rs.MovePrevious
If rs.BOF Then
rs.MoveFirst
MsgBox "Es el PRIMER Registro", vbApplicationModal + vbOKOnly, "Consultando..."
End If
Case "btnSigte"
rs.MoveNext
If rs.EOF Then
rs.MoveLast
MsgBox "Es el ULTIMO Registro", vbApplicationModal + vbOKOnly, "Consultando..."
End If
Case "btnFin"
rs.MoveLast
End Select
MuestraRegistros
End Sub
Para poder acceder a este evento del control MenuBar, nos colocamos en el evento MenuClick del control y en la parte superior derecha de la ventana de edición, en donde aparece el nombre del evento que estamos editando, hacemos clic sobre la flecha que aparece en la parte derecha del nombre del evento, y de la lista que aparece escogemos el evento ButtonClick.
Con este código si presionamos el botón Primero nos colocamos en el primer registro del recordset, si lo hacemos en el botón anterior, nos movemos un registro atrás, si presionamos siguiente, nos desplazamos al siguiente registro y si le decimos ultimo, nos vamos al ultimo registro del recordet. Cada vez que nos movamos vamos actualizando los datos en la pantalla dependiendo de que opción tengamos escogida.
Muy bien debemos tener cuidado cuando estemos editando o creando un nuevo registro para desactivar los botones, ya que si los dejamos activos en estos momentos podemos tener errores al momento de guardar la información.
Vamos a crear dos procedimientos, uno para desactivar los botones y otro para activarlos nuevamente, aquí esta el código de estos dos procedimientos:
Sub DesactivoNavega()
MenuBar1.Controls.Item(4).Enabled = False
MenuBar1.Controls.Item(5).Enabled = False
MenuBar1.Controls.Item(6).Enabled = False
MenuBar1.Controls.Item(7).Enabled = False
End Sub
Sub ActivoNavega()
MenuBar1.Controls.Item(4).Enabled = True
MenuBar1.Controls.Item(5).Enabled = True
MenuBar1.Controls.Item(6).Enabled = True
MenuBar1.Controls.Item(7).Enabled = True
End Sub
El procedimiento DesactivoNavega lo vamos a utilizar en la opción Nuevo y Editar, el procedimiento ActivoNavega lo vamos a utilizar en las opciones Guardar y Cancelar del menú.
Si ya han probado la opción Cancelar del menú Acción, se habrán dado cuenta que esta mal cuando retorna el menú, el error se soluciona colocando estas líneas de la siguiente forma:
mnuAccion.Items("mnuCerrar").Enabled = True
mnuAccion.Items("mnuCancelar").Enabled = False
Coloquemos este procedimiento:
Private Sub Text8_LostFocus()
Text8.Text = UCase(Text8.Text)
No hay comentarios.:
Publicar un comentario