El proceso de realizar una modificación puede tomar de nuevo como punto de partida el de la lectura de un registro para realizar un alta, la única variación que en éste caso el código debe existir, el resto sería idéntico.
Veamos el ejemplo
Select Case Campo00.Text <> ""
Case True
Posicion = CLng(Campo00.Text)
Select Case Posicion
Case 1 To 20
FileGet(CanalAgenda, Reg, Posicion) ' Lectura
Select Case Reg.Nom <> StrDup(15, " ")
Case True ' Ocupado
Visualiza() ' Visualiza datos, y seguimos
Case Else ' Código libre, dejamos que siga
Mensaje = "Código inexistente."
End Select ' Campo siguiente
Case Else ' Código fuera de rango
Mensaje = "Código fuera de rango"
End Select
Case Else ' Valor inadecuado
Mensaje = "Valor del campo incorrecto"
End Select
El cambio está en
Select Case Reg.Nom <> StrDup(15, " ")
Case True ' Ocupado
Visualiza() ' Visualiza datos, y seguimos
Case Else ' Código libre, dejamos que siga
Mensaje = "Código inexistente."
End Select ' Campo siguiente
En el mensaje que emitimos y en que de alguna forma hay que conseguir que no se pueda seguir con la introducción de datos.
Cuando comprobamos que el registro está libre u ocupado,
Si esta ocupado podemos visualizar su contenido, y después actuar ya según nuestro estilo de hacer las cosas.
Si está libre no deberíamos permitir que se siga con la introducción de datos.
Una vez realizada la introducción de los datos, el siguiente paso es grabar el registro, que se realizará siempre de la misma forma.
Se vuelve a repetir las mismas condiciones que para realizar una modificación, pero en este caso solo hay que borrar el registro cuando éste se ha visualizado.
Select Case Campo00.Text <> ""
Case True
Posicion = CLng(Campo00.Text)
Select Case Posicion
Case 1 To 20
FileGet(CanalAgenda, Reg, Posicion) ' Lectura
Select Case Reg.Nom <> StrDup(15, " ")
Case True ' Ocupado
Visualiza() ' Visualiza datos
Borrado() ' Pregunta y borra el registro
Case Else ' Código libre, dejamos que siga
Mensaje = "Código inexistente."
End Select ' Campo siguiente
Case Else ' Código fuera de rango
Mensaje = "Código fuera de rango"
End Select
Case Else ' Valor inadecuado
Mensaje = "Valor del campo incorrecto"
End Select
El cambio está en
Select Case Reg.Nom <> StrDup(15, " ")
Case True ' Ocupado
Visualiza() ' Visualiza datos
Borrado() ' Pregunta y borra el registro
Case Else ' Código libre, dejamos que siga
Mensaje = "Código inexistente."
End Select ' Campo siguiente
Borrado es un procedimiento que realizará una pregunta de confirmación al usuario y si la respuesta es afirmativa realizara la grabación de blancos en el registro en cuestión.
El procedimiento de grabación, borrado, puede ser como el ejemplo que sigue.
Private Sub Borrar()
Dim Posicion As Integer
' Borrado de un registro a blancos
Posicion = CLng(Codigo)
Reg.Nom = StrDup(15, " ")
Reg.Dire = StrDup(15, " ")
Reg.Pobl = StrDup(15, " ")
Reg.Prov = StrDup(2, " ")
Reg.Tele = StrDup(9, " ")
FilePut (Canal, Registro, Posicion)
MsgBox("Datos borrados", MsgBoxStyle.OKOnly, Me.Text)
End Sub
Síguenos en: Facebook Sobre aulaClic Política de Cookies