Una vez ya realizada el diseño del formulario pasamos a la programación de el y como paso importante tenemos la validación de la información a la hora de ingresar un dato.
Para realizar esta validación ingresaremos el objeto ErrorProvider, este lo pegaremos al lado de uno de los cuadros de texto cambiándole las siguientes propiedades:
ErrorProvider
|
|
Name
|
Err
|
|
|
Quedando de la siguiente manera en nuestro Formulario:
Una vez hecho este paso pasamos a la programación de la validacion para esto nos vamos al código haciendo click derecho ver código o oprimiendo la tecla F7.
Antes de ir a validar nuestra informacion iremos a colocar unas lineas de codigo al inicio de de la pagina de codigo el cual sera:
Imports
Encuesta.Entorno
Imports
System.Data.OleDb
__________________________________________________________________________________
Public
Class Form1
Una vez hecho esto podemos ya pasara a validar la información. Estas lineas de código que escribimos al inicio es para Importar todos los elementos especificados dentro de cada uno de ellos. Con el Imports System.Data.OleDb lo que hacemos es importar todo los objetos del OleDb que necesitemos como un lector de datos , un comando o una conexión.
Código:
Private Function validar()
As Boolean
'Creamos la funcion validar la cual sera de tipo lógico
'Y creamos la condicion para un cuadro de texto el cual
dira lo siguiente ,"Si el codigo ingresado en el cuadro de texto es igual
a nada este llamará al objeto err y a su prosedimiento SetError
'el cual este nos permite establecer la cadena de descripcion
del error, enviandole un msj que debe ingresar lo indicado en esa casilla
'y cuando esto suceda que este retorne en falso
If CodigoTextBox.Text = " " Then
err.SetError(CodigoTextBox, "Ingrese un
Codigo")
Return False
End If
'De igual manera para la demas información personal
If NombreTextBox.Text = " "
Then
err.SetError(NombreTextBox, " Ingrese
un Nombre")
Return False
End If
If
DireccionTextBox.Text = " " Then
err.SetError(DireccionTextBox, "
Ingrese una direccion")
Return False
End If
If
E_mailTextBox.Text = " " Then
err.SetError(E_mailTextBox, "Ingrese
una direccion de E-Mail")
Return False
End If
If
TelefonoTextBox.Text = " " Then
err.SetError(TelefonoTextBox, "Ingrese
un número de Telefono")
Return False
End If
'Tambien se validara la informacion de los combobox el cual
al igual que en los cuadros de texto dira: " si la selecciion del combox
especificado es igual -1 este llamara al objeto err y asu procedimiento
SetError
'Eviandole un msj que le diga que debe ingresar una opcion,
La diferencia de este con los cuadros de texto esque en este en vez de usar la
propiedad text se usara la propiedad SelectedIndex -1 , el cual hace referencia
a un campo vacio
' y de igual manera que retorne en falso
If
ServicioComboBox.SelectedIndex = -1 Then
err.SetError(ServicioComboBox, "Ingrese una opcion")
Return
False
End If
'Este mismo procedimiento se usara para los
demas combobox
If SatisfaccionComboBox.SelectedIndex = -1 Then
err.SetError(SatisfaccionComboBox, "Ingrese una opcion")
Return
False
End If
If
ProveedorComboBox.SelectedIndex = -1 Then
err.SetError(ProveedorComboBox, "Ingrese una opcion")
Return False
End If
If SeguridadComboBox.SelectedIndex = -1 Then
err.SetError(SeguridadComboBox, "Ingrese
una opcion")
Return False
End If
If
VelocidadComboBox.SelectedIndex = -1 Then
err.SetError(VelocidadComboBox, "Ingrese
una opcion")
Return False
End If
If
ColoniaComboBox.SelectedIndex = -1 Then
err.SetError(ColoniaComboBox, "Ingrese
una opcion")
Return False
End If
If
Cable_InternetComboBox.SelectedIndex = -1 Then
err.SetError(Cable_InternetComboBox, "Ingrese una opcion")
Return False
End If
' una vez validado la informacion de los combox volveremos
a llamar al objeto error y su procedimiento junto a cada uno de los objetos que
se utilizaron enviandole con este una respuesta vacía
err.SetError(CodigoTextBox, " ")
err.SetError(NombreTextBox, " ")
err.SetError(TelefonoTextBox, " ")
err.SetError(DireccionTextBox, " ")
err.SetError(E_mailTextBox, " ")
err.SetError(ServicioComboBox, " ")
err.SetError(SatisfaccionComboBox, " ")
err.SetError(ProveedorComboBox, " ")
err.SetError(SeguridadComboBox, " ")
err.SetError(VelocidadComboBox,
" ")
err.SetError(ColoniaComboBox, " ")
err.SetError(Cable_InternetComboBox, " ")
'Este al final retornara verdadero para que la marca del
error se quite.
Return True
End Function
Seguidamente pasamos a escribir unas lineas de código en el evento Load del Formulario.
Se Programara en este para que a la iniciación del formulario este se ejecute
Código:
Private
Sub Form1_Load(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
MyBase.Load
'Se llama al dsTablas mas el metodo merge y
que este llame a la funcion obtener datos y el cual le traiga un valor falso
DsTablas.Merge(Datos.obdatos, False)
'tambien llamaremos al cuadro de texto del codigo mas la
propiedad enabled la cual sera igual a falso, con esto lo que hacemos es que al
iniciars el formulario este cuadro de texto salga inavilitado para que los
datos personales no pueda ser modificados
'De igual manera para los demas cuadros de los datos
personales
CodigoTextBox.Enabled
= False
NombreTextBox.Enabled = False
DireccionTextBox.Enabled = False
E_mailTextBox.Enabled = False
TelefonoTextBox.Enabled = False
End Sub
Terminado esto Programamos el botón agregar nuevo:
Código:
Private
Sub BindingNavigatorAddNewItem_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles BindingNavigatorAddNewItem.Click
'Aplicamos los diferentes cambios o finalizamos la edición mediante el endEdit()
EncuestaBindingSource.EndEdit()
'Mediante el EncuestaBindingSouce hacemos un enlace a la método AddNew Para agregar un registro nuevo a nuestra tabla
EncuestaBindingSource.AddNew()
'Enviamos un enfoque por medio de la método focus al
cuadro de texto del código para que sea el primer cuadro donde se empiese a
escribir
CodigoTextBox.Focus()
'luego Habilitamos los cuadros de texto de los datos
personales con la propiedad enbled igual a verdadero
CodigoTextBox.Enabled
= True
NombreTextBox.Enabled = True
TelefonoTextBox.Enabled = True
DireccionTextBox.Enabled = True
E_mailTextBox.Enabled = True
'Luedo que se deshabiliten mediante la método clear() que es la que nos permite limpiar, Que limpie los cuadros de
texto de los datos personales
NombreTextBox.Clear()
DireccionTextBox.Clear()
TelefonoTextBox.Clear()
E_mailTextBox.Clear()
'De igual manera que la informacion contenida en lo
combobox pero en vez de usar la funcion clear usaremos la propiedad
SelectedIndex de cada uno de ellos, la cual sera igua a -1 traendo una
respuesta vacia para cada una de ellas
ServicioComboBox.SelectedIndex
= -1
SatisfaccionComboBox.SelectedIndex = -1
ProveedorComboBox.SelectedIndex = -1
VelocidadComboBox.SelectedIndex = -1
SeguridadComboBox.SelectedIndex = -1
Cable_InternetComboBox.SelectedIndex =
-1
ColoniaComboBox.SelectedIndex = -1
End Sub
Una vez hecho esto Pasamos a programar el botón guardar de nuestro BindignNavigator damos doble click en el y programamos los siguiente:
Código:
Private
Sub EncuestaBindingNavigatorSaveItem_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles EncuestaBindingNavigatorSaveItem.Click
'Primero creamos una condicion , Si la validacion es verdadera entonces
If validar() = True Then
'Finalizamos la edicion del registro actual mediante el EndEdit()
EncuestaBindingSource.EndEdit()
'Llamamos al metodo salvarencuesta y que la informacion
guardada la almacene en el nuestro daaset que seria el dsTablas
Datos.salvEncues(DsTablas)
'Llamamos a
nuestro dsTablas y le decimos que guarde los ultimos cambios realizados
mediante del AcceptChanges()
DsTablas.AcceptChanges()
'finalmente que nos envie una retroalimentacion mediante un
msg que diga que los datos se han almacenado
MsgBox(" Los Datos se han
almacenado", MsgBoxStyle.Information,
"Salvar")
End If
'Al finalizar la condicion y los datos ya guardados que se
vuelvan a inabilitar los cuadros de texto de los datos personaless mediante la
propiedad enabled igual a falso
CodigoTextBox.Enabled = False
NombreTextBox.Enabled = False
TelefonoTextBox.Enabled = False
DireccionTextBox.Enabled = False
E_mailTextBox.Enabled = False
End Sub
Seguido Programamos el botón Eliminar:
Código:
Private
Sub BindingNavigatorDeleteItem_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles BindingNavigatorDeleteItem.Click
'Primeramente enviamos un msg al usuario para
Preguntarle si quiere o no eliminar este registro mediante el
msgboxStyle.question mas el msgboxstyle.yesno y si la respuesta de este es
igual a si sucedera lo siguiente
If MsgBox(" Desea
eliminar este Registro ", MsgBoxStyle.Question
+ MsgBoxStyle.YesNo, "Eliminar") = MsgBoxResult.Yes
Then
'Se aplicaran los cambios o finalizamos la edicion del registro actual
EncuestaBindingSource.EndEdit()
'Mediante el bindingSouce llamamos a la metodo RemovCurrent() el cual nos permitira quitar o en otras palabras eliminar el
registro seleccionado de la tabla
EncuestaBindingSource.RemoveCurrent()
'llamamos a nuestra variable datos mas la funcion
salvarencuesta para que se aplique la eliminacion en el
Datos.salvEncues(DsTablas)
'Se aceptan los
cabios en nuestro Dataset
DsTablas.AcceptChanges()
' Y enviamos una retralimentacion para decirle al usuario
que la aliminacion fue exitosa
MsgBox(" El registro se ha eliminado
", MsgBoxStyle.Information, "Confirmado")
'Finalmente enviamos el enfoque al cuadro de texto del
codigo.
CodigoTextBox.Focus()
End If
End Sub
Una vez terminado esto hemos finalizado con la programación de nuestras operaciones básicas dentro de nuestro formulario. Con esto ya nos guarda, nos elimina y nos agrega un registro nuevo.
Ahora lo que nos falta es hacer una búsqueda sencilla de los registros por medio del código.
Esto lo realizamos de la siguiente manera: Damos doble click en el botón buscar de nuestro formulario y programamos lo siguiente:
Código:
Private
Sub cmdBuscar_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
cmdBuscar.Click
'Declaramos la variable codigo la cual
almacenara en el codigo escrito o contenido en el cuadro de texto codigo
Dim codigo As String = txtCodigoBuscado.Text
'Declaramos la variable fila la cual tendra como valor -1
Dim Fila As Integer = -1
'La variable fila nos realizara una busqueda de el valor
del codigo en el bindgSource mediante el metodo find
Fila
= EncuestaBindingSource.Find("Codigo",
codigo)
'Realizaremos una condicion la cual sera, Si la fila es
igual a -1 enviara un msg al Usuario diciendo que no se ha econtrado el codigo
ingresado y que lo verifique
If Fila = -1 Then
MsgBox("No se ha encontrado el codigo
del cliente, verifique el codigo ingresado", MsgBoxStyle.Information, "No
se encuentra el codigo")
'Y si no se encontro que termine su procedimiento en ese
momento
Exit Sub
Else
'Si no es asi que traiga el numero de registro o la
posicion del registro mediante el bindingSource y que ese valor sea almacenado
temporalmente en la variable fila
EncuestaBindingSource.Position
= Fila
End If
End Sub
Una vez finalizado toda la programación de cada uno de los botones nuestro Formulario esta listo para ser utilizado.
No hay comentarios:
Publicar un comentario