La otra parte del programa es la que se encarga de la lectura y grabación de los datos de la aplicación.
La lectura de datos se descompone en dos pasos, la realización de los pasos para realizar la lectura
Private Sub Lectura
FileGet(Canal, RegProvinc, CLng(Campo.Text)) ' Lectura
Select Case RegProvinc.Denom <> StrDup(Len(RegProvinc.Denom), " ") ' Ocupado
Case True ' Ocupado
Visualizar() ' Visualiza
Case Else ' Código libre
MsgBox("Código inexistente", MsgBoxStyle.Information, Me.Text)
End Select
End Sub
Y su visualización sería :
Private Sub Visualizar()
With RegProvinc
Campo02.Text = .Denom
End With
End Sub
En el caso de una base de datos, montaríamos primero la instrucción SQL, para después actuar en función de la base de datos utilizada.
CadenaSQL = "SELECT Codigo, Nombre, Nacionalidad " & _
"FROM Autores " & _
"WHERE Codigo = '" & Codigo & "'"
Y la visualización de los mismos con los objetos de los que dispone el programa en su interface cuando ésta es correcta.
Campo01.Text = Lector.Item("Codigo").ToString
Campo02.Text = Lector.Item("Nombre").ToString
' seleccionar en combo la nacionalidad
SeleccionaCombo(ComboBox01, Lector.Item("Nacionalidad").ToString)
La ejecución del código arrancará desde el procedimiento de validación al ejecutarse el evento validating en el objeto de caja de texto, cuando en la validación del capo código se realiza la lectura correspondiente.
La grabación se compone de la recogida de los datos cuando se realiza la grabación.
Private Sub Grabar()
Dim Posicion As Integer = CInt(Campo01.Text)
With RegProvinc
.Denom = Campo02.Text
End With
FilePut(Canal, RegProvinc, Posicion)
MsgBox("Los datos han sido grabados", MsgBoxStyle.Information, NomProgram)
End Sub
Para una base de datos se monta la instrucción SQL y en función de la base de datos utilizada se actúa después.
CadenaSQl = "Update Autores Set " & _
"Codigo = '" & Campo01.Text & "' , " & _
"Nombre = '" & Campo02.Text & "' , " & _
"Nacionalidad = '" & Nacion.Codigo.ToString & "' " & _
"WHERE (Autores.Codigo = '" & Campo01.Text & "');"
La ejecución de este código arrancará del evento clic de uno de los botones de orden, de tal forma que al pulsar aceptar se ejecutará la acción de grabado, actualización o inserción según proceda.
En los procedimientos que se han visto, se producen circunstancias como datos incorrectos, códigos que no existen, etc.
Estas situaciones conviene acompañarlas con mensajes informativos para que el usuario sepa porque se le rechazan determinados datos.
MsgBox("Datos grabados.", MsgBoxStyle.Information, Me.Text)
MsgBox("Datos inexistentes.", MsgBoxStyle.Information, Me.Text)
MsgBox("Error en actualización", MsgBoxStyle.Information, Me.Text)
Otro apartado es el control a nivel del programa del teclado
Private Sub Programa_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs)
Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Enter
SendKeys.Send(ControlChars.Tab)
Salir = False
Case Keys.Escape
Salida()
End Select
End Sub
Para el control de teclas como Escape, Intro, teclas de función y resto de teclas especiales.
La fase de inicio del programa requiere en muchas ocasiones de una serie de actuaciones únicas para toda la fase de ejecución del mismo.
Apertura de archivos
Tareas de configuración e inicialización de datos.
Carga de objetos del formulario
Todas estas tareas se deben realizar en el evento de carga del formulario, load.
Después de esta fase de inicialización existe una fase activación que se produce cada vez que el programa recupera el foco de atención del S. O., en esa fase se pueden actualizar los contenidos de algunos objetos que se cargaron en la fase inicial, por si se han realizado cambios en las tablas de origen.
Private Sub Programa_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Me.Text = NomProgram
Canal = FreeFile()
FileOpen(Canal, _
My.Application.Info.DirectoryPath & NomFileProvi, _
OpenMode.Random, , OpenShare.Shared, Len(RegProvinc))
ConfigCampo(Me)
ConfigLiteral(Me)
ConfigMensajes(Me)
ConfigComando(Me)
End Sub
El evento en el que se realizaría la actualización de los cambios sería activated.
Síguenos en: Facebook Sobre aulaClic Política de Cookies