1. COLEGIO NACIONAL DE EDUCACIÓN
PROFESIONAL TECNICA DEL ESTADO DE
TLAXCALA
CONALEP 101 Zacualpan
Modulo: Elaboración y mantenimiento de sistemas de
información.
Docente: Agustín Hernández Delgado.
Alumno: Monserrat Cante Santamaría.
Carpeta de evidencias.
Grupo: 603
Informática
2. Este programa tiene como prioridad el dar de alta a alumnos en una base de
datos.
Para eso, primero debe realizarse una búsqueda antes de la inserción de datos
esto nos permitirá poder evitar la duplicidad de información en la base de datos.
En el programa tenemos un menú el cual es el siguiente:
Código del menú:
Public Class Menu
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
CONSULTAS.Show()'esta línea nos permiten ver el formulario de consultas '
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Altas.Show()'esta línea nos permiten ver el formulario de altas '
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
End 'esta línea nos permiten salir de la aplicación '
End Sub
End Class
Contamos con un código fuente, el cual realiza consultas y para esto se reutilizara
el código de consultas el cual nos facilitara poder crear el formulario de altas.
Consultas Altas
Salir
3. Public Class CONSULTAS
Private Sub Alta_alumnosBindingNavigatorSaveItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.Alta_alumnosBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.SICOHEDataSet)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla
'SICOHEDataSet.alta_alumnos' Puede moverla o quitarla según sea necesario.
Me.Alta_alumnosTableAdapter.Fill(Me.SICOHEDataSet.alta_alumnos)
IdTextBox.Enabled = False
IdTextBox.Visible = False
MatriculaTextBox.Enabled = False
MatriculaTextBox.Visible = False
NombreTextBox.Enabled = False
NombreTextBox.Visible = False
Ap_patTextBox.Enabled = False
Ap_patTextBox.Visible = False
Ap_matTextBox.Enabled = False
Ap_matTextBox.Visible = False
EspecialidadTextBox.Enabled = False
EspecialidadTextBox.Visible = False
GrupoTextBox.Enabled = False
GrupoTextBox.Visible = False
TurnoTextBox.Enabled = False
TurnoTextBox.Visible = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim c1 As String
Dim c2 As String
Dim res As Boolean
Dim i As Integer
Dim n As Integer
n = Alta_alumnosBindingSource.Count
Alta_alumnosBindingSource.MoveFirst()
res = False
c1 = (RTrim(TextBox1.Text))
c2 = (RTrim(MatriculaTextBox.Text))
Dim bandera As Boolean
bandera = True
n = Alta_alumnosBindingSource.Count
If (n = 0) Then
MsgBox("la tabla esta vacia")
Else
End If
Do
res = c2 Like c1
If (res = True) Then
4. bandera = False
Else
Alta_alumnosBindingSource.MoveNext()
c2 = (RTrim(MatriculaTextBox.Text))
i += 1
End If
Loop While (bandera = True And i <= n)
If (bandera = True) Then
IdTextBox.Enabled = False
IdTextBox.Visible = False
MatriculaTextBox.Enabled = False
MatriculaTextBox.Visible = False
NombreTextBox.Enabled = False
NombreTextBox.Visible = False
Ap_patTextBox.Enabled = False
Ap_patTextBox.Visible = False
Ap_matTextBox.Enabled = False
Ap_matTextBox.Visible = False
EspecialidadTextBox.Enabled = False
EspecialidadTextBox.Visible = False
GrupoTextBox.Enabled = False
GrupoTextBox.Visible = False
TurnoTextBox.Enabled = False
TurnoTextBox.Visible = False
MsgBox("El alumno no se encuentra registrado")
Else
IdTextBox.Enabled = False
IdTextBox.Visible = True
MatriculaTextBox.Enabled = False
MatriculaTextBox.Visible = True
NombreTextBox.Enabled = False
NombreTextBox.Visible = True
Ap_patTextBox.Enabled = False
Ap_patTextBox.Visible = True
Ap_matTextBox.Enabled = False
Ap_matTextBox.Visible = True
EspecialidadTextBox.Enabled = False
EspecialidadTextBox.Visible = True
GrupoTextBox.Enabled = False
GrupoTextBox.Visible = True
TurnoTextBox.Enabled = False
TurnoTextBox.Visible = True
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Me.Visible = False
End Sub
End Class
5. Esta imagen es el
formulario de
consultas tiene los
campos
deshabilitados
En esta imagen se
está realizando la
búsqueda de
información la cual
se busca por medio
de una matrícula los
cuadros de texto
están deshabilitados
y muestra la
información
buscada.
Esta imagen manda un
mensaje cuando la
matricula no se
encuentra registrada
en la base de datos.
6. Pasos para empezar a crear el código de altas.
Primero se da clic en la barra de herramientas en el tercer icono del cual se
desplegaran algunas opciones las cuales son:
Clic en Agregar Windows Forms
El cual se esta creando en la misma carpeta que teníamos anteriormente cuando
se creo el código de consultas. Esto nos ayuda a no volver a conectar la base de
datos y queda de la siguiente manera
Después se realizara un formulario nuevo arrastrando los datos que se solicitaran
de la tabla en el formulario y se insertaran una caja de texto mas la cual pedirá la
matricula así como tres botones los cuales será el botón de buscar, grabar y salir.
7. Enseguida en el botón de búsqueda se copiara el código fuente, que es el de
consultas ya que este se encargara de realizar la búsqueda que se solicita hacer
antes de introducir la información y así poder saber si ya existe un registro de esa
matricula y sino poder guardar la información.
8. Después se colocaran aquellas partes de código que nos falta para poder realizar
la comparación de la información y conectar la tabla que se esta utilizando de la
base de datos y así poder guardar la información según corresponda.
El código es el siguiente:
Nos permite poder inicializar nuestra base de datos.
Dim mitabla As DataTable = SICOHEDataSet.alta_alumnos
Esta línea nos permite poder agregar información a nuestra base de datos en la
que se esta almacenando.
Dim cfilas As DataRowCollection = mitabla.Rows
Esta line es aquella que nos permite poder generar filas.
Dim nuevafila As DataRow
A continuación se realizara la comparación correspondiente de la matricula que se
registrara el cual primero comparara el valor introducido con las matriculas
existentes en la base de datos.
9. Si la matricula ya existe te enviara un
mensaje que dirá que ya esta
registrada.
Sino existe te pedirá que introduzcas
los datos.
Para poder introducir los datos se habilitaran los cuadros de texto que será donde
se escribirá la información para poder guardarla en la base de datos en donde
antes se realiza una comparación.
Si el valor que se ingresa en la caja de texto ya esta registrado mandara un
mensaje el cual dirá que ya existe la información.
En esta imagen los
cuadros de texto
se encuentran
deshabilitados.
10. Pero si el valor introducido no esta aun registrado enviara un mensaje el cual dirá
que puedes introducir la información, entonces los cuadros de texto se activaran y
podrás escribir los datos.
En esta parte de código se utilizan algunas líneas especiales las cuales son:
Esta línea nos permite generar nuevos objetos con el mismo esquema de la tabla
nuevafila = mitabla.NewRow()
Esta línea nos permite agregar la información a la fila correspondiente de la base
de datos
cfilas.Add(nuevafila)
11. Esta línea nos indica que la información se guardara después del último registro
en adelante.
Alta_alumnosBindingSource.MoveLast()
Estas líneas nos permitirán colocar la información ingresada de acuerdo al orden
de las filas existentes en la tabla con su correspondiente valor.
nuevafila(1) = Val(MatriculaTextBox.Text) 'variable de tipo numérico'
nuevafila(2) = UCase(NombreTextBox.Text) 'variable que es una cadena y
convierte los datos a mayúsculas'
nuevafila(3) = UCase(Ap_patTextBox.Text)
nuevafila(4) = UCase(Ap_matTextBox.Text)
nuevafila(5) = UCase(EspecialidadTextBox.Text)
nuevafila(6) = Val(GrupoTextBox.Text)
nuevafila(7) = UCase(TurnoTextBox.Text)
Hasta aquí termina el código que realizara la consulta antes de poder introducir los
datos.
Por último en el botón grabar se colocara el código necesario para que el
programa guarde los datos ingresados en la tabla correspondiente.
Para esto solo utilizamos cuatro líneas de código muy importantes las cuales son:
Esta línea nos permite poder modificar
If (SICOHEDataSet.HasChanges) Then
Esta línea guarda la información en un orden determinado.
Me.Validate()
Esta línea editar la información de la tabla.
Me.Alta_alumnosBindingSource.EndEdit()
Esta línea comunicar a la base de datos.
12. Me.Alta_alumnosTableAdapter.Update(Me.SICOHEDataSet.alta_alumnos)
Este mensaje se mostrara cuando la información ya esta guardada.
MsgBox("El alumno esta registrado")
El código del programa queda de la siguiente manera:
Public Class Altas
Private Sub Alta_alumnosBindingNavigatorSaveItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.Alta_alumnosBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.SICOHEDataSet)
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla
'SICOHEDataSet.alta_alumnos' Puede moverla o quitarla según sea necesario.
Me.Alta_alumnosTableAdapter.Fill(Me.SICOHEDataSet.alta_alumnos)
IdTextBox.Enabled = False
IdTextBox.Visible = False
MatriculaTextBox.Enabled = False
MatriculaTextBox.Visible = False
NombreTextBox.Enabled = False
NombreTextBox.Visible = False
Ap_patTextBox.Enabled = False
Ap_patTextBox.Visible = False
Ap_matTextBox.Enabled = False
13. Ap_matTextBox.Visible = False
EspecialidadTextBox.Enabled = False
EspecialidadTextBox.Visible = False
GrupoTextBox.Enabled = False
GrupoTextBox.Visible = False
TurnoTextBox.Enabled = False
TurnoTextBox.Visible = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim mitabla As DataTable = SICOHEDataSet.alta_alumnos 'esta linea nos
permite poder enlazar nuestra base de datos'
Dim cfilas As DataRowCollection = mitabla.Rows ' esta line nos permite
porder agregar información a la base de datos'
Dim nuevafila As DataRow 'nos permite poder generar filas'
Dim c1 As String
Dim c2 As String
Dim res As Boolean
Dim i As Integer
Dim n As Integer
n = Alta_alumnosBindingSource.Count
Alta_alumnosBindingSource.MoveFirst()
i = 1
res = False
c1 = UCase(RTrim(TextBox1.Text))
c2 = UCase(RTrim(MatriculaTextBox.Text))
Dim bandera As Boolean
bandera = True
If (n = 0) Then
MsgBox("la tabla esta vacia")
Else
End If
Do
If (Trim(MatriculaTextBox.Text) = Trim(TextBox1.Text)) Then 'en esta
linea se compara el valor de la matricula existente en la base de datos con la que
se ingresa para verificar si ya existe el resgistro'
bandera = False
Else
Alta_alumnosBindingSource.MoveNext()
i = i + 1
End If
Loop While (bandera = True And i <= n)
If (bandera = False) Then ' si el valor que se ingresa en la bandera ya esta
registrado mandara un mensaje en el cual dira que ya existe la información'
MsgBox("Error, Matricula ya resgistrada")
Else ' pero si el valor no esta aun registrado enviara un mensaje el cual te
dira que puedes introducir la información'
MsgBox("introduce la información")
nuevafila = mitabla.NewRow() ' nos permite generar nuevos objetos con el
mismo esquema de la tabla'
cfilas.Add(nuevafila) ' esta linea nos permite agregar la información a
la fila correspondiente de la base de datos'
14. Alta_alumnosBindingSource.MoveLast() ' esta linea nos indica que la
información de guardara despues del ultimo registro en adelante'
IdTextBox.Enabled = False ' si la matricula aun no existe entonces todos
las cajas de texto se habilitaran para poder introducir la información'
IdTextBox.Visible = True
MatriculaTextBox.Enabled = True
MatriculaTextBox.Visible = True
NombreTextBox.Enabled = True
NombreTextBox.Visible = True
Ap_patTextBox.Enabled = True
Ap_patTextBox.Visible = True
Ap_matTextBox.Enabled = True
Ap_matTextBox.Visible = True
EspecialidadTextBox.Enabled = True
EspecialidadTextBox.Visible = True
GrupoTextBox.Enabled = True
GrupoTextBox.Visible = True
TurnoTextBox.Enabled = True
TurnoTextBox.Visible = True
'estas lineas nos permitiran colocar la información ingresada de
acuaerdo en el orden de las filas existentes en la tabla'
nuevafila(1) = Val(MatriculaTextBox.Text) ' esta variable es de tipo
numerico'
nuevafila(2) = UCase(NombreTextBox.Text) 'esta variable es una cadena y
comvierte los datos ingresados a mayusculas'
nuevafila(3) = UCase(Ap_patTextBox.Text)
nuevafila(4) = UCase(Ap_matTextBox.Text)
nuevafila(5) = UCase(EspecialidadTextBox.Text)
nuevafila(6) = Val(GrupoTextBox.Text)
nuevafila(7) = UCase(TurnoTextBox.Text)
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Me.Visible = False
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
If (SICOHEDataSet.HasChanges) Then ' esta linea nos permite poder modificar'
Me.Validate() ' nos permite poder guaradar la información en un orden
determinado'
Me.Alta_alumnosBindingSource.EndEdit() ' esta linea nos permite poder
editar la información de la tabla'
Me.Alta_alumnosTableAdapter.Update(Me.SICOHEDataSet.alta_alumnos) ' esla
linea nos permite comunicar a la base de datos'
MsgBox("El alumno esta registrado") 'este mensaje se mostrara cuando la
información ya esta guardada'
End If
End Sub
End Class