10

Click here to load reader

Vb Sistema Matric Ulas

Embed Size (px)

DESCRIPTION

alas

Citation preview

Page 1: Vb Sistema Matric Ulas

DESARROLLO DEL PROYECTO DEL SISTEMA ACADEMICO

1. Agregar un Formulario MDI y diseñar el menú sugerido en el proyecto.

2. Grabar el formulario MDI con el nombre MDIPrin3. Agregar un modulo estándar y codifique lo siguiente:

Option ExplicitPublic Cn As ADODB.ConnectionPublic RsAlumnos As ADODB.Recordset 'Recordset para tabla AlumnosPublic RsAsig As ADODB.Recordset 'Recordset para tabla AsignaturaPublic RsMatriculas As ADODB.Recordset 'Recordset para tabla MatriculasPublic RsMatAux As ADODB.Recordset 'Recordset para tabla MatriculaAuxiliarPublic RsCarreras As ADODB.Recordset 'Recorset para tabla CarrerasPublic RsAlumMat As ADODB.Recordset 'Recordset para la tabla AlumnosMatriculadosPublic StrRsAlumnos As String 'Variables cadena para instrucciones selectPublic StrRsAsig As StringPublic StrRsMatriculas As StringPublic StrRsMatAux As StringPublic StrRsCarreras As StringPublic StrRsAlumMat As StringPublic Sub Main() On Error Resume Next Set Cn = New ADODB.Connection Cn.CursorLocation = adUseClient With Cn ' Abre una conexión mediante el proveedor de Microsoft SQL Server .Provider = "SQLOLEDB" .ConnectionString = "Data Source=(Local); Initial Catalog=SistemaAcademico;" & _ "User Id=sa; Password=; Integrated Security=SSPI" .Open End With If Cn.State = adStateClosed Then Beep MsgBox "Error en la conexión" Exit Sub End If MsgBox "Conexión conforme" MDIPrin.ShowEnd Sub

4. Grabe dicho modulo con el nombre de ModPrin5. Diseñe la siguiente interfaz visual en un formulario Estándar:

Page 2: Vb Sistema Matric Ulas

6. Propiedades de los controles Control Propiedad Valor SSTab1 Tabs 2

Caption(Tab 0) Matriculas de alumnosCaption (Tab 1) Relación General

Frame1 Caption Datos Generales de AlumnosFrame2 Caption Detalles de AsignaturasFrame3 Caption Cursos MatriculadosFrame4 Caption Alumnos matriculadosFrame5 Caption AlumnosFrame6 Caption Detalles CursosDataCombo1 Nombre DtCAlu; Enabled = FalseDataCombo2 Nombre DtCCar; Enabled = FalseDataCombo3 Nombre DtCAsi; Enabled = FalseDataGrid1 Nombre DtGMatriAux; Cation = CursosDataGrid2 Nombre DtGAluMat; Caption = Alumnos MatriculadosDataGrid3 Nombre DtGMatri; Caption = Cursos MatriculadosComboBox1 Nombre CmbSec; Enabled = False

List MA, MB, MC, TA, TB, TC, NA, NB, NC

Page 3: Vb Sistema Matric Ulas

ComboBox2 Nombre CmbSem; Enabled = FalseList I, II, III, IV, V, VI

ComboBox3 Nombre CmbTur; Enabled = FalseList M, T, N

Text1 Nombre TxtCodAlu; Enabled = FalseText2 Nombre TxtCA; Enabled = FalseText3 Nombre TxtCred; Enabled = FalseText4 Nombre TxtTotCred Enabled = FalseText5 Nombre TxtNumM; Enabled = FalseDtPicker1 Nombre DTPFM; Enabled = FalseCommand1 Nombre CmdNuevoACommand2 Nombre CmdCancelarACommand3 Nombre CmdGrabarACommand4 Nombre CmdNuevoCCommand5 Nombre CmdAgregarCCommand6 Nombre CmdCancelarCCommand7 Nombre CmdEliminarCCommand8 Nombre CmdSalir

7. En Objeto general, Procedimiento declaraciones; realice las siguientes funciones y procedimientos:

Objeto: General Procedimiento: DeclaracionesOption ExplicitDim TotalCreditos As IntegerDim VCodAsig As String, VCreditos As IntegerDim N1 As Integer, N2 As Integer, N3 As Integer

Sub Calculos() N1 = 0 N2 = 0 N3 = 0 RsMatAux.MoveFirst Do While Not RsMatAux.EOF If RsMatAux!NumeroMatricula = 1 Then N1 = N1 + 1 Else If RsMatAux!NumeroMatricula = 2 Then N2 = N2 + 1 Else If RsMatAux!NumeroMatricula = 3 Then N3 = N3 + 1 End If End If End If RsMatAux.MoveNext Loop Debug.Print N1End Sub

Sub BorrarMatriculaAuxiliar() 'Borramos los registros de la tabla temporal RsMatAux.MoveFirst 'Vamos al primer registro Do While Not RsMatAux.EOF RsMatAux.Delete RsMatAux.MoveNext Loop RsMatAux.UpdateBatchEnd Sub

Function BuscaCreditos(VCodAsig As String) As Integer RsAsig.MoveFirst

Page 4: Vb Sistema Matric Ulas

RsAsig.Find "CodigoAsignatura = '" & VCodAsig & "'" BuscaCreditos = RsAsig!CreditosEnd Function

Sub EstadoControlesAlumnos(Estado As Boolean) DtCAlu.Enabled = Estado CmbSem.Enabled = Estado CmbTur.Enabled = Estado CmbSec.Enabled = Estado DTPFM.Enabled = Estado DtCCar.Enabled = Estado cmdCancelarA.Enabled = Estado cmdNuevoC.Enabled = Estado cmdGrabarA.Enabled = EstadoEnd Sub

Sub EstadoControlesAsignaturas(Estado As Boolean) DtCAsi.Enabled = Estado txtNumM.Enabled = Estado cmdAgregarC.Enabled = Estado cmdNuevoC.Enabled = Estado cmdCancelarC.Enabled = EstadoEnd Sub

Sub LimpiaCamposAlumnos() DtCAlu.Text = "" CmbSem.Text = "" CmbTur.Text = "" CmbSec.Text = "" txtCodAlu.Text = "" DtCCar.Text = ""End Sub

Sub LimpiaCamposAsignaturas() txtNumM.Text = ""End Sub

8. Codifique los siguientes Command

Private Sub cmdAgregarC_Click() RsMatAux.AddNew RsMatAux!CodigoAlumno = DtCAlu.BoundText RsMatAux!CodigoAsignatura = DtCAsi.BoundText RsMatAux!CodigoCarrera = DtCCar.BoundText RsMatAux!Semestre = CmbSem.Text RsMatAux!Creditos = RsAsig!Creditos RsMatAux!Seccion = CmbSec.Text RsMatAux!Turno = CmbTur.Text RsMatAux!NumeroMatricula = Val(txtNumM.Text) RsMatAux!FechaMatricula = DTPFM.Value RsMatAux!Obs = "" RsMatAux.UpdateBatch DtGMatriAux.Refresh TotalCreditos = TotalCreditos + VCreditos txtTotCred.Text = Str(TotalCreditos) MsgBox "TotalCreditos" & Str(TotalCreditos) cmdAgregarC.Enabled = False cmdCancelarC.Enabled = False cmdNuevoC.Enabled = True cmdEliminarC.Enabled = True DtCAsi.Enabled = False txtNumM.Enabled = False

Page 5: Vb Sistema Matric Ulas

cmdGrabarA.Enabled = TrueEnd Sub

Private Sub cmdCancelarA_Click() Call LimpiaCamposAlumnos Call EstadoControlesAsignaturas(False) RsMatriculas.CancelBatch cmdCancelarA.Enabled = False cmdNuevoC.Enabled = False cmdGrabarA.Enabled = FalseEnd Sub

Private Sub cmdCancelarC_Click() Call LimpiaCamposAsignaturas Call EstadoControlesAsignaturas(False) RsMatAux.CancelBatch DtGMatriAux.Refresh cmdNuevoC.Enabled = True cmdEliminarC.Enabled = TrueEnd Sub

Private Sub cmdEliminarC_Click() Dim Rpta As String Rpta = MsgBox("Esta seguro de borrar el registro?", vbExclamation + vbYesNoCancel, "Borrado de registro") If Rpta = vbYes Then If RsMatAux.RecordCount = 0 Then MsgBox "No existen datos para borrar" Exit Sub Else If DtGMatriAux.Bookmark Then TotalCreditos = TotalCreditos - DtGMatriAux.Columns(4) txtTotCred.Text = Str(TotalCreditos) RsMatAux.Delete If RsMatAux.BOF Then RsMatAux.MoveNext Else If RsMatAux.EOF Then RsMatAux.MovePrevious Else RsMatAux.MoveNext End If End If Else MsgBox "Registro no marcado, marque el registro para borrar" End If End If End IfEnd Sub

Private Sub cmdGrabarA_Click() RsMatAux.MoveFirst 'Vamos al primer registro Do While Not RsMatAux.EOF 'Mientras no sea final de archivo RsMatriculas.AddNew 'Agregamos un registro en blanco RsMatriculas!CodigoAlumno = RsMatAux!CodigoAlumno 'Transfiere registros de la RsMatriculas!CodigoAsignatura = RsMatAux!CodigoAsignatura ' tabla temporal a la tabla principal

RsMatriculas!CodigoCarrera = RsMatAux!CodigoCarrera RsMatriculas!Semestre = RsMatAux!Semestre RsMatriculas!Creditos = RsMatAux!Creditos RsMatriculas!Seccion = RsMatAux!Seccion RsMatriculas!Turno = RsMatAux!Turno RsMatriculas!NumeroMatricula = RsMatAux!NumeroMatricula

Page 6: Vb Sistema Matric Ulas

RsMatriculas!Obs = RsMatAux!Obs RsMatriculas.UpdateBatch RsMatAux.MoveNext Loop 'Grabamos la tabla AlumnosMatriculados RsAlumMat.AddNew RsAlumMat!CodigoAlumno = DtCAlu.BoundText RsAlumMat!CodigoCarrera = DtCCar.BoundText RsAlumMat!Semestre = CmbSem.Text RsAlumMat!TotalCreditos = TotalCreditos RsAlumMat!Turno = CmbTur.Text RsAlumMat!Seccion = CmbSec.Text Call Calculos RsAlumMat!NroCursosPrimeraVez = N1 RsAlumMat!NroCursosSegundaVez = N2 RsAlumMat!NroCursosTerceraVez = N3 RsAlumMat!FechaMatricula = DTPFM.Value RsAlumMat!Obs = "" RsAlumMat.UpdateBatch Call BorrarMatriculaAuxiliar DtGMatri.Refresh DtGAluMat.Refresh Call LimpiaCamposAlumnos Call LimpiaCamposAsignaturas Call EstadoControlesAlumnos(False) Call EstadoControlesAsignaturas(False) TotalCreditos = 0End Sub

Private Sub cmdNuevoA_Click() Call EstadoControlesAlumnos(True) Call LimpiaCamposAlumnosEnd Sub

Private Sub cmdNuevoC_Click() Call EstadoControlesAsignaturas(True) Call LimpiaCamposAsignaturas cmdNuevoC.Enabled = False cmdEliminarC.Enabled = FalseEnd Sub

Private Sub cmdSalir_Click() Unload MeEnd Sub

Private Sub DtCAlu_Change() txtCodAlu.Text = DtCAlu.BoundTextEnd Sub

Private Sub DtCAsi_Change()txtCA.Text = DtCAsi.BoundTextVCodAsig = DtCAsi.BoundTextVCreditos = BuscaCreditos(VCodAsig)txtCred.Text = VCreditosEnd Sub

Private Sub DtGAluMat_Click() RsMatriculas.MoveFirst If DtGAluMat.Bookmark Then Dim cod As String cod = DtGAluMat.Columns(0) RsMatriculas.Find "CodigoAlumno = '" & cod & "'"

Page 7: Vb Sistema Matric Ulas

Else MsgBox "Marque una fila para visualizar los cursos" End IfEnd Sub

Private Sub Form_Load() Set RsAlumnos = New ADODB.Recordset Set RsAsig = New ADODB.Recordset Set RsCarreras = New ADODB.Recordset Set RsMatriculas = New ADODB.Recordset Set RsMatAux = New ADODB.Recordset Set RsAlumMat = New ADODB.Recordset StrRsAlumnos = "Select * From Alumnos" StrRsAsig = "Select * From Asignaturas" StrRsCarreras = "Select * From Carreras" StrRsMatriculas = "Select * From Matriculas" StrRsMatAux = "Select * From MatriculasAuxiliar" StrRsAlumMat = "Select * From AlumnosMatriculados" RsAlumnos.Open StrRsAlumnos, Cn, adOpenStatic, adLockBatchOptimistic RsAsig.Open StrRsAsig, Cn, adOpenStatic, adLockBatchOptimistic RsCarreras.Open StrRsCarreras, Cn, adOpenStatic, adLockBatchOptimistic RsMatriculas.Open StrRsMatriculas, Cn, adOpenStatic, adLockBatchOptimistic RsMatAux.Open StrRsMatAux, Cn, adOpenStatic, adLockBatchOptimistic RsAlumMat.Open StrRsAlumMat, Cn, adOpenStatic, adLockBatchOptimistic Set DtCAlu.RowSource = RsAlumnos DtCAlu.ListField = "Apellidos" DtCAlu.BoundColumn = "CodigoAlumno" DtCAlu.Refresh Set DtCAsi.RowSource = RsAsig DtCAsi.ListField = "Descripcion" DtCAsi.BoundColumn = "CodigoAsignatura" Set DtCCar.RowSource = RsCarreras DtCCar.ListField = "Descripcion" DtCCar.BoundColumn = "CodigoCarrera" Set DtGMatriAux.DataSource = RsMatAux DtGMatriAux.Refresh Set DtGMatri.DataSource = RsMatriculas DtGMatri.Refresh Set DtGAluMat.DataSource = RsAlumMat DtGAluMat.Refresh TotalCreditos = 0End Sub

9. Codifique el formulario MDI que contiene el menú respectivo para abrir el formulario matricula respectivo

Private Sub mnuProRe_Click() frmMatriculas.ShowEnd Sub

10. Codifique el procedimiento Unload del Formulario MDI

Private Sub MDIForm_Unload(Cancel As Integer) Cn.Close Set Cn = NothingEnd Sub

11. Codifique para abrir la calculadoraPrivate Sub mnuMisCal_Click() Dim Cal As Variant Cal = Shell("C:\Windows\System32\Calc.exe", vbMaximizedFocus) 'Mostramos la calculadoraEnd Sub

Page 8: Vb Sistema Matric Ulas

12. Codifique para abrir Word

Private Sub mnuMisWor_Click()Dim Wor As Variant 'Mostramos Word Wor = Shell("C:\Archivos de Programa\Microsoft Office\Office11\Winword.exe", vbMaximizedFocus) End Sub

13. Formulario en Modo Ejecución:

“Muy Lejos, donde brilla el sol, se encuentran mis mas altas aspiraciones, probablemente nunca las alcance, pero puedo alzar la vista creer en ellas y tratar de seguir su rumbo”“La vida sólo puede ser comprendida  mirando para atrás; mas sólo puede ser vivida mirando para adelante." “El amor es la mejor música en la partitura de la vida. Sin él serás un eterno desafinado en el inmenso coro de la humanidad."“Si pudiese volver a la juventud... Cometería todos aquellos errores de nuevo... Solo que más temprano."