formulario de altas

14
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

Upload: monze-cante

Post on 29-Jul-2015

229 views

Category:

Education


0 download

TRANSCRIPT

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

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

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

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

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.

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.

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.

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.

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.

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)

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.

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

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'

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