sábado, 11 de agosto de 2012

VB.NET y SQL - Visual Basic.NET 2005 y Microsoft Access 2007

Hola con todos, mediante este pequeño manual voy a enseñarles como conectarme desde una aplicación de Windows realizado en Visual Basic.NET a una base de Datos Microsoft Access 2007. 

Requisitos: 

1.- Conocimientos Básicos de Microsoft Access 2007, esto involucra saber como crear una base de datos, tablas, relaciones entre tablas, inserción datos, crear consultas, etc.
2.- Conocer el lenguaje SQL (DDL, DCL, DML).

Primeramente vamos a crear una carpeta en nuestra unidad C llamada Aplicaciones VB.NET 2005 y Access 2007, es aquí en donde almacenaremos nuestra base de datos que se llamara BDCOLEGIO.

Luego de esto vamos a ejecutar nuestro Microsoft Access 2007, para esto damos click en el Menú Inicio (start) y luego click en Ejecutar (Run) y escribir MSACCESS, así como en la imagen:
Ahora al dar click al botón OK se mostrara la ventana principal de Microsoft Access 2007, así como en la imagen: 
Ahora procedemos a crear nuestra base de datos, para esto damos click en el botón de Inicio y damos click en Nuevo, así como en la imagen:
Luego de dar click se mostrara en la parte inferior el nombre del archivo que amos a especificar, en nuestro caso le pondremos como nombre BDCOLEGIO, así como en la imagen:
Nota: Recuerda que la extensión de un archivo creado en Access 2007 es accdb y en versiones anteriores es mdb 

Luego vamos a especificar en donde se almacenara nuestro archivo, para eso damos click en el icono de la carpetita, al hacerlo se mostrara la sgte ventana en la cual especificaremos la carpeta que creamos en C llamada Aplicaciones VB.NET 2005 y Access 2007, así como en la imagen:
Ahora dar click al botón Aceptar, se volverá a tener la ventana anterior, así como en la imagen:
Ahora dar click al botón Crear, al hacerlo se creara la base de datos, teniéndose la sgte ventana:
Ahora vamos a la Vista Diseño para crear nuestra primera tabla, así como en la imagen:
Al hacer esto nos pedirá que grabemos con un nombre a nuestra tabla a crear, en nuestro caso nuestra primera tabla se llamara Alumno, así como en la imagen:
Luego dar click el botón Aceptar. Ahora realizar la sgte estructura para nuestra tabla Alumno, así como en la imagen: 

Nota: El campo Cod_Alumno será nuestro campo Cave (Cave Principal o Primary Key)
La estructura quedara ago así: 
Luego de esto damos click en el botón Guardar, ahora procederemos a crear nuestra segunda tabla, para eso dar click en la ficha Crear y dar click en el botón Diseño de Tabla, así como en la imagen:
Ahora realizar la sgte estructura para nuestra tabla Curso, así como en la imagen: 

Nota: El campo Cod_Curso será nuestro campo Clave (Clave Principal o Primary Key) 
La estructura quedara ago así:
Luego de esto damos click en el botón Guardar, así como en la imagen: 
Al dar click nos mostrara la sgte ventana en la cual nos pedirá con que nombre guardar nuestra tabla, en nuestro caso le asignaremos el nombre Curso, así como en la imagen: 
Luego de esto se creara la tabla, ahora procederemos a crear nuestra tercera tabla, para eso dar click en la ficha Crear y dar click en el botón Diseño de Tabla, así como en la imagen:
Ahora realizar la sgte estructura para nuestra tabla Ciclo, así como en la imagen: 

Nota: El campo Cod_Ciclo será nuestro campo Clave (Clave Princpal o Primary Key)
La estructura quedara ago así:
Luego de esto damos click al boton Guardar, asi como en la imagen:
Al dar click nos mostrara la sgte ventana en la cual nos pedirá con que nombre guardar nuestra tabla, en nuestro caso le asignaremos el nombre Ciclo, así como en la imagen: 
Luego de esto se creara la tabla, ahora procederemos a crear nuestra cuarta tabla, para eso dar click en la ficha Crear y dar click en el botón Diseño de Tabla, así como en la imagen:
Ahora realizar la sgte estructura para nuestra tabla Docente, así como en la imagen: 

Nota: El campo Cod_Docente será nuestro campo Clave (Clave Princpal o Primary Key)
La estructura quedara ago así:
Luego de esto damos click al boton Guardar, asi como en la imagen:
Al dar click nos mostrara la sgte ventana en la cual nos pedirá con que nombre guardar nuestra tabla, en nuestro caso le asignaremos el nombre Docente, así como en la imagen:
Luego de esto se creara la tabla, ahora procederemos a crear nuestra quinta tabla, para eso dar click en la ficha Crear y dar click en el botón Diseño de Tabla, así como en la imagen:
Ahora realizar la sgte estructura para nuestra tabla Docente-Curso, así como en la imagen:

Nota: Esta tabla no tiene campo Clave (Clave Princpal o Primary Key)
La estructura quedara ago así:
Luego de esto damos click al boton Guardar, asi como en la imagen:
Al dar click nos mostrara la sgte ventana en la cual nos pedirá con que nombre guardar nuestra tabla, en inuestro caso le asignaremos el nombre Docente-Curso, así como en la imagen:
Al dar click en guardar nos saldrá esta ventana de advertencia diciéndonos de que no se ha definido una clave principal, simplemente damos cick en el botón No, así como en la imagen: 
Luego de esto se creara la tabla, ahora procederemos a crear nuestra sexta y última tabla, para eso dar click en la filcha Crear y dar click en el botón Diseño de Tabla, así como en la imagen:
Ahora realizar la sgte estructura para nuestra tabla Notas, así como en la imagen:

Nota: Esta taba no tiene campo Clave (Clave Princpal o Primary Key)
La estructura quedara ago así:
Luego de esto damos click en el botón Guardar, así como en la imagen:
Al dar click nos mostrara la sgte ventana en la cual nos pedirá con que nombre guardar nuestra tabla, en nuestro caso le asignaremos el nombre Notas, así como en la imagen:
Al dar click en guardar nos saldrá esta ventana de advertencia diciéndonos de que no se ha definido una clave principal, simplemente damos cick en el botón No, así como en la imagen: 
Finalmente tendremos así: 
Ahora nuestro siguiente paso es definir las relaciones que tendrán nuestras tablas creadas, para eso dar click en la ficha Herramientas de base de datos y click en Relaciones, así como en la imagen:
Luego de dar click el botón Relaciones nos mostrara una ventana con el listado de todas las tablas que existen en la base de datos, lo único que hacemos es seleccionar todas las tablas, así como en la imagen: 
Ahora dar click al botón Agregar, se mostrara la sgte ventana:
Ahora vamos a establecer las relaciones entre las tablas Alumno y Notas mediante el campo Cod_Alumno, para eso damos click al campo Cod_Alumno de la tabla que tiene la clave principal (Alumno) luego sin soltar el click izquierdo del Mouse lo arrastramos hacia el campo Cod_Alumno de la tabla Notas, y finalmente soltamos el click izquierdo, al hacerlo se mostrara la sgte ventana en la cual daremos en los tres checks, así como en la imagen: 
Luego dar click en el botón Crear, se deberá tener la sgte relación, así como en la imagen:
Ahora vamos a establecer las relaciones entre las tablas Curso y Notas mediante el campo Cod_Curso, para eso damos click al campo Cod_Curso de la tabla que tiene la clave principal (Curso) luego sin soltar el click izquierdo del Mouse lo arrastramos hacia el campo Cod_Curso de la tabla Notas, y finalmente soltamos el click izquierdo, al hacerlo se mostrara la sgte ventana en la cual daremos en los tres checks, así como en la imagen:
Luego dar click en el botón Crear, se deberá tener la sgte relación, así como en la imagen:
Ahora vamos a establecer las relaciones entre las tablas Ciclo y Curso mediante el campo Cod_Ciclo, para eso damos click al campo Cod_Ciclo de la tabla que tiene la clave principal (Ciclo) luego sin soltar el click izquierdo del Mouse lo arrastramos hacia el campo Cod_Ciclo de la tabla Curso, y finalmente soltamos el click izquierdo, al hacerlo se mostrara la sgte ventana en la cual daremos en los tres checks, así como en la imagen:
 Luego dar click en el botón Crear, se deberá tener la sgte relación, así como en la imagen:
Ahora vamos a establecer las relaciones entre las tablas Docente y Docente-Curso mediante el campo Cod_Docente, para eso damos click al campo Cod_Docente de la tabla que tiene la clave principal (Docente) luego sin soltar el click izquierdo del Mouse lo arrastramos hacia el campo Cod_Docente de la tabla Docente-Curso, y finalmente soltamos el click izquierdo, al hacerlo se mostrara la sgte ventana en la cual daremos en los tres checks, así como en la imagen:
Luego dar click en el botón Crear, se deberá tener la sgte relación, así como en la imagen:
Ahora vamos a establecer las relaciones entre las tablas Curso y Docente-Curso mediante el campo Cod_Curso, para eso damos click al campo Cod_Curso de la tabla que tiene la clave principal (Curso) luego sin soltar el click izquierdo del Mouse lo arrastramos hacia el campo Cod_Curso de la tabla Docente-Curso, y finalmente soltamos el click izquierdo, al hacerlo se mostrara la sgte ventana en la cual daremos en los tres checks, así como en la imagen:
Luego dar click en el botón Crear, se deberá tener la sgte relación, así como en la imagen:
Luego de realizar todas las relaciones guardamos todos los cambios realizados, ahora procederemos a insertar registros en todas las tablas, recuerda que esto se hace en la vista Hoja de Datos.

Registros de la Tabla Alumno:

Registros de la Tabla Ciclo:

Registros de la Tabla Docente:

Registros de la Tabla Curso:

Registros de la Tabla Docente-Curso:

Registros de la Tabla Notas:
Luego de terminar nuestra base de datos, podremos empezar creando nuestro formulario en Visual Studio.NET en el lenguaje de Visual Basic.

Iniciando Visual Studio 2005

Para poder iniciar Visual Studio, damos click en el Menú Inicio (start) y luego click en Ejecutar (Run) y escribir DEVENV, así como en la imagen:
Luego dar click en el botón OK, al hacerlo se mostrara la pantalla de bienvenida de Visual Studio 2005, así como en la imagen:
Antes que todo vamos a crear nuestra Solución en Blanco, para eso dar click en el Menú Archivo y click en el Submenú Nuevo y finalmente click en Proyecto, así como en la imagen:
Al dar click se mostrara una ventana en la cual desplegaras el Nodo Otros tipos de proyectos y dar click al SubNodo Soluciones de Visual Studio y en el panel derecho seleccionar Solución en Blanco. Además deberás dar un nombre a la solución (en nuestro caso VB.NET 2005 y Access 2007) y una ubicación de donde se creara (ubicar la carpeta creada en la unidad C llamada Aplicaciones VB.NET 2005 y Access 2007), debes tener así como en la imagen:
Al dar click en el botón Aceptar tendrás lo siguiente:
Ahora vamos a crear nuestra Capa de Datos, para eso seleccionamos la Solución, damos click derecho seleccionamos Agregar y finalmente click en Nuevo Proyecto, así como en la imagen:
Al hacer click aparecerá la sgte ventana en la cual en el panel izquierdo tendrás que desplegar el Nodo Visual Basic y elegir Windows, en el panel derecho elegir Aplicación para Windows, Además de poner el nombre del Proyecto (en nuestro caso Aplicaciones VB.NET 2005 y Access 2007) y la ubicación (en nuestro caso esta en la unidad C dentro de la carpeta llamada Aplicaciones VB.NET 2005 y Access 2007), así como en la imagen:
Al dar click en el botón Aceptar tendrás lo siguiente:

Primera Consulta:

1.- Mediante el sgte formulario mostrar toda la información de los alumnos de la base de datos BDCOLEGIO.

Ahora vamos a renombrar a nuestro archivo, para eso seleccionamos nuestro archivo Form1.vb, le damos click derecho y click en Cambiar Nombre, así como en la imagen:
Bueno le asignamos el nombre de FrmAplicacion1.vb, ten cuidado de borrar la extensión del archivo, ya que si lo haces este archivo dejara de ser útil.
Finalmente quedara así:
Ahora seleccionamos nuestro formulario, presionamos la tecla F4 para acceder a la ventana Propiedades, en la cual especificaremos las sgtes propiedades:

Propiedades del formulario:
  • Text: Listado de Alumnos (BDColegio)
  • StartPosition: CenterScreen
  • (Name): FrmAplicacion1
  • FromBorderStyle: FixedSingle
  • MaximizeBox: False
Luego de establecer las propiedades respectivas estiremos nuestro formulario teniendo así:
Ahora nos dirigimos al Cuadro de Herramientas en la pestaña Datos y ubicamos el control DataGridView, así como en la imagen:
Luego darle click al control y arrastrarlo al formulario, luego darle la sgte forma:
Ahora vamos a especificar algunas propiedades a nuestro DataGridView:

Propiedades del Datagridview:
  • AllowUserToAddRows: False
  • SelectionMode: FullRowSelect
  • ReadOnly: True
  • (Name): DgvListadoAlumnos
Luego de esto seleccionamos nuestro formulario, luego nos vamos al panel de Propiedades y damos click en el botón del rayito (Eventos), luego de eso buscamos el evento Load, así como en la imagen:
Luego de ubicar el evento mencionado le damos doble click, al hacerlo se creara el evento Load del formulario FrmAplicacion1 y nos mandara a la ventana de código, teniendo así:
La programación es la sgte:

Imports System.Data.OleDb
Public Class FrmAplicacion1

Dim Cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Aplicaciones VB.NET 2005 y Access 2007\BDCOLEGIO.accdb")

Private Sub FrmAplicacion1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Da As New OleDbDataAdapter("Select * From Alumno", Cn)
Dim Dt As New DataTable
Da.Fill(Dt)
Me.DgvListadoAlumnos.DataSource = Dt
End Sub
End Class

Deberás tener algo así:
Ahora para ejecutar este formulario se puede hacer de dos maneras: La primera es presionando la tecla F5, la otra forma es dando click al botón Iniciar Depuración (Start Debugging)
A la hora de ejecutar el formulario, se mostrara el mismo con todos los registros de la tabla Alumno, así como en la imagen:

Segunda Consulta:

2.- Mediante el sgte formulario mostrar en un control ComboBox todos los ciclos que existan en el colegio, al elegir un ciclo mostrar en un control DataGridView los cursos deacuerdo a un ciclo elegido. La base de datos a utilizar es BDCOLEGIO.

Ahora vamos a agregar un nuevo formulario, para eso seleccionar nuestro proyecto (Aplicaciones VB.NET 2005 y Access 2007), damos un click derecho y seleccionamos Agregar (Add) y finalmente dar click en Nuevo Elemento (New Element), así como en la imagen:
Al hacer click nos aparecerá la sgte ventana en la cual elegiremos la plantilla Windows Forms y asignaremos por nombre FrmAplicacion2, así como en la imagen:
Luego dar click en el botón Agregar, se tendrá así:
Ahora seleccionamos nuestro formulario, presionamos la tecla F4 para acceder a la ventana Propiedades, en la cual especificaremos las sgtes propiedades:

Propiedades del formulario:
  • Text: Listado de Cursos por Ciclo (BDColegio)
  • StartPosition: CenterScreen
  • (Name): FrmAplicacion2
  • FromBorderStyle: FixedSingle
  • MaximizeBox: False

Luego de establecer las propiedades respectivas estiremos nuestro formulario teniendo así:
Ahora realizar el diseño del formulario y establecer las sgtes propiedades a cada control respectivamente:
Una vez terminado nuestro diseño comenzaremos a programar. Ahora seleccionamos nuestro formulario, luego nos vamos al panel de Propiedades y damos click en el botón del rayito (Eventos), luego de eso buscamos el evento Load, así como en la imagen:
Luego de ubicar el evento mencionado le damos doble click, al hacerlo se creara el evento Load del formulario FrmAplicacion2 y nos mandara a la ventana de código, teniendo así:
Con esto se genero el evento Load del Formulario, ahora volver al diseño del formulario, seleccionar el botón Consultar y pulsar la tecla F4 para acceder a sus propiedades, ahora da click en el rayito (Eventos) y busca el evento click, así como en la imagen:
Luego de ubicar el evento mencionado le damos doble click, al hacerlo se creara el evento Click del botón BtnConsultar y nos mandara a la ventana de código, teniendo así:
Con esto se genero el evento Click del botón, la programación para este formulario es la sgte:

Imports System.Data.OleDb
Public Class FrmAplicacion2
‘Ojo: esto va en una sola linea
Dim Cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Aplicaciones VB.NET 2005 y Access
2007\BDCOLEGIO.accdb")
Private Sub FrmAplicacion2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Da As New OleDbDataAdapter("Select Cod_Ciclo, Nro_Ciclo From Ciclo", Cn)
Dim Dt As New DataTable
Da.Fill(Dt)
'Aqui especifco que voy a utilizar el control CboCiclo (ComboBox)
With Me.CboCiclo
.DataSource = Dt
.DisplayMember = "Nro_Ciclo"
.ValueMember = "Cod_Ciclo"
End With
End Sub
Private Sub BtnConsultar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnConsultar.Click
'Declaro una variable de tipo entero llamada Cod_Ciclo
Dim Cod_Ciclo As Integer
Cod_Ciclo = CInt(Me.CboCiclo.SelectedValue)
Dim Da As New OleDbDataAdapter("Select Cod_Curso, Nom_Curso From Curso Where Cod_Ciclo=" & Cod_Ciclo, Cn)
Dim Dt As New DataTable
Da.Fill(Dt)
Me.DgvListadoCursosXCiclo.DataSource = Dt
Me.LblCantCursos.Text = Dt.Rows.Count
End Sub
End Class

Ahora debemos de cambiar nuestro formulario inicial, para esto seleccionamos nuestro proyecto, le damos click derecho y click en Propiedades, así como en la imagen:
Al hacer click se mostrara la sgte pestaña en la cual debemos ubicarnos en Objeto Inicial, si verificas esta con el nombre de nuestro primer formulario, esto quiere decir de que si presionamos la tecla F5 se ejecutara este formulario, para cambiarlo solo deberás desplegar el ComboBox y elegir el nombre del formulario a ejecutarse, en mi caso FrmAplicacion2.


Ahora para ejecutar este formulario se puede hacer de dos maneras: La primera es presionando la tecla F5, la otra forma es dando click al botón Iniciar Depuración (Start Debugging)
Una vez hecho esto se ejecutara el formulario, El funcionamiento de esta consulta es el sgte: Cuando el formulario se cargue se mostrara en el ComboBox todos los ciclos que haya en la Base de Datos BDCOLEGIO, luego de elegir un ciclo y dar click en el botón Consultar, se mostrara en el DataGridView los cursos que pertenecen al ciclo elegido. 

En este instante se cargo el formulario, elegimos x ejm tercer ciclo (III), así como en la imagen:
Y a la hora de dar click en el botón Consultar se tendrá así:
De esta manera terminamos nuestra segunda aplicación.

Tercera Consulta:

3.- Mediante el sgte formulario mostrar en un control Listbox todos los Alumnos que existan en el colegio, al elegir un alumno se mostrara en un control DataGridView los cursos y las notas respectivamente. La base de datos a utilizar es BDCOLEGIO.

Ahora vamos a agregar un nuevo formulario, para eso seleccionar nuestro proyecto (Aplicaciones VB.NET 2005 y Access 2007), damos un click derecho y seleccionamos Agregar (Add) y finalmente dar click en Nuevo Elemento (New Element), así como en la imagen:
Al hacer click nos aparecerá la sgte ventana en la cual elegiremos la plantilla Windows Forms y asignaremos por nombre FrmAplicacion3, así como en la imagen:
Luego dar click en el botón Agregar, se tendrá así:
Ahora seleccionamos nuestro formulario, presionamos la tecla F4 para acceder a la ventana Propiedades, en la cual especificaremos las sgtes propiedades:

Propiedades del formulario:
  • Text: Listado de Notas por Alumno (BDColegio)
  • StartPosition: CenterScreen
  • (Name): FrmAplicacion3
  • FromBorderStyle: FixedSingle
  • MaximizeBox: False
Luego de establecer las propiedades respectivas estiremos nuestro formulario teniendo así:
Ahora realizar el diseño del formulario y establecer las sgtes propiedades a cada control respectivamente:

Una vez terminado nuestro diseño comenzaremos a programar. Ahora seleccionamos nuestro formulario, luego nos vamos al panel de Propiedades y damos click en el botón del rayito (Eventos), luego de eso buscamos el evento Load, así como en la imagen:
Luego de ubicar el evento mencionado le damos doble click, al hacerlo se creara el evento Load del formulario FrmAplicacion3 y nos mandara a la ventana de código, teniendo así:
Con esto se genero el evento Load del Formulario, ahora volver al diseño del formulario, seleccionar el ListBox llamado LstAlumnos y pulsar la tecla F4 para acceder a sus propiedades, ahora da click en el rayito (Eventos) y busca el evento SelectedIndexChanged, así como en la imagen:
Luego de ubicar el evento mencionado le damos doble click, al hacerlo se creara el evento SelectedIndexChanged del Listbox LstAlumnos y nos mandara a la ventana de código, teniendo así:
Con esto se genero el evento SelectedIndexChanged del botón, ahora volver a diseño del formulario e ir a la ficha Componentes y elegir el control Timer, luego de elegirlo arrastrarlo al formulario, quedando así:

Nota: Este control solo ve visualiza en tiempo de diseño mas no en tiempo de ejecución
Ahora seleccionar nuestro control Timer y presionar la tecla F4 para acceder a sus Propiedades, asignar lo sgte:

Propiedades del Timer:
  • Enabled: Establecemos el valor de True para habilitar este control.
  • (Name): Asignamos el nombre de nuestro control (en nuestro caso TmrTiempo).
  • Interval: En esta propiedad especificamos una cantidad de milisegundos en la cual se ejecutara el evento Tick del Timer llamado TmrTiempo. Recuerda que 1000 milisegundoss es = a 1segundo
Ahora dar click al botón del rayito (Eventos) e ir al único evento del Timer llamado Tick, así como en la imagen:
Ahora dar doble click al evento mencionado, al hacerlo se mostrara el evento generado en la ventana de código, así como en la imagen:
La programación para este formulario es el sgte:

Imports System.Data.OleDb
Public Class FrmAplicacion3
'Ojo: esto va en una sola linea
Dim Cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Aplicaciones VB.NET 2005 y Access
2007\BDCOLEGIO.accdb")
Private Sub FrmAplicacion3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Aqui obtengo la fecha actual del sistema y lo almaceno en el Label LblFecha
Me.LblFecha.Text = Now.Date
'Aqui obtengo la hora actual del sistema y lo almaceno en el Label LblHora
Me.LblHora.Text = TimeOfDay
Dim Da As New OleDbDataAdapter("Select Cod_Alumno, (Nom_Alumno + Space(1) + Ape_Alumno) As NomApeAlumno " & _
" From Alumno Order By (Nom_Alumno + Space(1) + Ape_Alumno) Asc", Cn)
Dim Dt As New DataTable
Da.Fill(Dt)
With Me.LstAlumnos
.DataSource = Dt
.DisplayMember = "NomApeAlumno"
.ValueMember = "Cod_Alumno"
End With
End Sub
Private Sub LstAlumnos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
LstAlumnos.SelectedIndexChanged
Try
Dim Cod_Alumno As String = Me.LstAlumnos.SelectedValue
Dim SQL As String = String.Empty : Dim SumProm As Double = 0
Dim PromGlobal As Double = 0 : Dim Cant As Integer = 0
SQL = "Select c.Nom_Curso, n.NP1,n.NP2, ((n.NP1+(2*n.NP2))\3) As Promedio From Curso as c Inner Join Notas as n " & _ 
" On c.Cod_Curso=n.Cod_Curso Where n.Cod_Alumno='" & Cod_Alumno & "'"
Dim Da As New OleDbDataAdapter(SQL, Cn)
Dim Dt As New DataTable
Da.Fill(Dt)
With Me.DgvListadoNotasXAlumno
.DataSource = Dt
End With
'En esta linea me recorro por todos los elementos que hay en el DataGridView
For i As Integer = 0 To Dt.Rows.Count - 1
'En esta linea caputo el valor de una celda del DataGridView mediante una fila y columna, lo convierto a un tipo de
'datos Double con el Cdbly lo voy acumulando en la variable SumProm
SumProm = SumProm + CDbl(Me.DgvListadoNotasXAlumno.Rows(i).Cells(3).Value)
Cant = Cant + 1
Next
PromGlobal = SumProm / Cant
'Aqui pregunto si el Promedio Global esta entre 0 y 10.4
If PromGlobal >= 0 And PromGlobal < 10.5 Then
'Aqui especifico que el color de letra en la cual se mostrara el texto en el Label LblPromedio es de color rojo
Me.LblPromedio.ForeColor = Color.Red
'Aqui especifico que el promedio global se mostrara en formato numerico de dos decimales y almacenarlo en el Label
Me.LblPromedio.Text = String.Format(FormatNumber(PromGlobal, 2))
Else
'Aqui especifico que el color de letra en la cual se mostrara el texto en el Label LblPromedio es de color azul
Me.LblPromedio.ForeColor = Color.Blue
'Aqui especifico que el promedio global se mostrara en formato numerico de dos decimales y almacenarlo en el Label
Me.LblPromedio.Text = String.Format(FormatNumber(PromGlobal, 2))
End If
Catch ex As Exception
End Try
End Sub
Private Sub TmrTiempo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrTiempo.Tick
Me.LblFecha.Text = Now.Date
Me.LblHora.Text = TimeOfDay
End Sub
End Class

Ahora debemos de cambiar nuestro formulario inicial, para esto seleccionamos nuestro proyecto, le damos click derecho y click en Propiedades, así como en la imagen:
Al hacer click se mostrara la sgte pestaña en la cual debemos ubicarnos en Objeto Inicial, si verificas esta con el nombre de nuestro primer formulario, esto quiere decir de que si presionamos la tecla F5 se ejecutara este formulario, para cambiarlo solo deberás desplegar el ComboBox y elegir el nombre del formulario a ejecutarse, en mi caso FrmAplicacion3.


Ahora para ejecutar este formulario se puede hacer de dos maneras: La primera es presionando la tecla F5, la otra forma es dando click al botón Iniciar Depuración (Start Debugging).
Una vez hecho esto se ejecutara el formulario, El funcionamiento de esta consulta es el sgte: Cuando el formulario se cargue se mostrara en el ListBox todos los Alumnos que hayan en la Base de Datos BDCOLEGIO, luego de elegir un Alumno se mostrara en el DataGridView los nombres de los cursos y las notas respectivamente, también se mostrara su promedio x cada curso y finalmente su promedio general, además, cuando su promedio sea menor a 10.5 se mostrara de color rojo, caso contrario se mostrara de color azul.

En este instante se cargo el formulario:
Cuando elijas a un alumno se mostraran los cursos y sus notas respectivamente.
En este caso el promedio general esta de color azul, es debido a que este es mayor igual a 10.5, pero en caso contrario se mostrara de color rojo.

Cuarta Consulta:

4.- Mediante el sgte formulario se seleccionaran mediante un control DateTimePicker un rango de fechas, al dar click al botón Consultar se mostrara en un control DataGridView todos los alumnos que nacieron en ese rango de fechas. La base de datos a utilizar es BDCOLEGIO.

Ahora vamos a agregar un nuevo formulario, para eso seleccionar nuestro proyecto (Aplicaciones VB.NET 2005 y Access 2007), damos un click derecho y seleccionamos Agregar (Add) y finalmente dar click en Nuevo Elemento (New Element), así como en la imagen:
Al hacer click nos aparecerá la sgte ventana en la cual elegiremos la plantilla Windows Forms y asignaremos por nombre FrmAplicacion4, así como en la imagen:
Luego dar click en el botón Agregar, se tendrá así:
Ahora seleccionamos nuestro formulario, presionamos la tecla F4 para acceder a la ventana Propiedades, en la cual especificaremos las sgtes propiedades:

Propiedades del formulario:
  • Text: Consulta por rango de fechas (BDColegio)
  • StartPosition: CenterScreen
  • (Name): FrmAplicacion4
  • FromBorderStyle: FixedSingle
  • MaximizeBox: False
Luego de establecer las propiedades respectivas estiremos nuestro formulario teniendo así:
Ahora realizar el diseño del formulario y establecer las sgtes propiedades a cada control respectivamente:
Una vez terminado nuestro diseño comenzaremos a programar. Ahora seleccionamos nuestro botón Consultar, luego nos vamos al panel de Propiedades y damos click en el botón del rayito (Eventos), luego de eso buscamos el evento Click, así como en la imagen:
Luego de ubicar el evento mencionado le damos doble click, al hacerlo se creara el evento Click del botón BtnConsultar y nos mandara a la ventana de código, teniendo así:
La programación para este formulario es el sgte:

Public Class FrmAplicacion4
'Ojo: esto va en una sola linea
Dim Cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Aplicaciones VB.NET 2005 y Access 2007\BDCOLEGIO.accdb")
Private Sub BtnConsultar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnConsultar.Click
'Nota Importante 1: Toda variable de tipo fecha almacena solo fechas, y esta tiene que ir entre #
'Nota Importante 2: El formato de fecha que se le tiene que asignar es de mes/dia/año
'Ejm: Dim Fecha As Date=#07/25/2008#
'Declarto una variable de tipo fecha llamada FechaInicial y a la vez almaceno el valor que elija
'en el DateTimePicker llamado DtpFechaInicial previamente lo convierto a un tipo de dato fecha
Dim FecIni As Date = CDate(Me.DtpFechaInicial.Value)
'Declarto una variable de tipo fecha llamada FechaFinal y a la vez almaceno el valor que elija
'en el DateTimePicker llamado DtpFechaFinal previamente lo convierto a un tipo de dato fecha
Dim FecFin As Date = CDate(Me.DtpFechaFinal.Value)
'Esto va en una sola linea
Dim SQL As String = "Select * From Alumno Where FecNac_Alumno>=#" & FecIni & "# And FecNac_Alumno<=#" & FecFin & "#"
Dim da As New OleDbDataAdapter(SQL, Cn)
Dim dt As New DataTable
da.Fill(dt)
Me.DtgListadoAlumnos.DataSource = dt
Me.LblCantAlumnos.Text = dt.Rows.Count
End Sub
End Class

Ahora debemos de cambiar nuestro formulario inicial, para esto seleccionamos My Project, así como en la imagen:
Ahora darle doble click a My Proyect, se mostrara la sgte ventana en la cual te ubicaras en la pestaña Aplicación y en la opción Objeto Inicial:


Ahora para ejecutar este formulario se puede hacer de dos maneras: La primera es presionando la tecla F5, la otra forma es dando click al botón Iniciar Depuración (Start Debugging).
Una vez hecho esto se ejecutara el formulario, El funcionamiento de este consulta es el sgte: elegimos una fecha inicial y una fecha final, al ahora que demos click al botón Consultar, se mostraran a los alumnos que nacieron en ese rango de fechas y la cantidad respectiva. En este instante se cargo el formulario:
Ahora elegimos un rango de fechas y damos click al botón Consultar:
A la hora que damos click al botón Consultar nos mostrara a los alumnos que nacieron en ese rango de fecha y también cuantos son. Con este cuarto y último ejercicio culminamos.

Puedes descargar el Proyecto desde el sgte link:


No hay comentarios:

Publicar un comentario