Escolar Documentos
Profissional Documentos
Cultura Documentos
Net 2003
APLICACIN 49
bdAgenda
Imports ADODB
Module BaseDatos
End Module
Formulario frmAplicacion49
Control Name
TextBox1 txtNombre
TextBox2 txtDireccion
TextBox3 txtDistrito
TextBox4 txtTelefono
TextBox5 txtFecNac
TextBox6 txtSexo
TextBox7 txtPeso
ListBox1 lstAmigos
Button1 btnGrabar
Button2 btnCancelar
Button3 btnAdicionar
Button4 btnModificar
Button5 btnEliminar
Button6 btnSalir
Procedimiento LlenarAmigos
Sub LlenarAmigos()
Me.lstAmigos.Items.Clear()
If RS.State = 1 Then
RS.MoveFirst()
While (Not RS.EOF)
lstAmigos.Items.Add(CStr(Campo.Item(0).Value))
RS.MoveNext()
End While
Else
MsgBox("ERROR: No Se Logr Abrir La Tabla Amigos",
MsgBoxStyle.Critical, "Error al Guardar")
Exit Sub
End If
End Sub
Procedimiento SoloLectura
Procedimiento LlenarControles
Procedimiento LimpiarControles
Sub LimpiarControles()
Me.txtNombre.Text = ""
Me.txtDireccion.Text = ""
Me.txtDistrito.Text = ""
Me.txtTelefono.Text = ""
Me.txtFecNac.Text = ""
Me.txtSexo.Text = ""
Me.txtPeso.Text = ""
Me.txtNombre.Focus()
End Sub
Procedimiento ActivarBotones
Procedimiento Verificar
Sub Verificar()
Dim Activar As Boolean
Dim Texto As String
Texto = Me.txtSexo.Text
If Me.txtDireccion.Text = "" Or Me.txtDistrito.Text = "" Then
Activar = False
ElseIf Me.txtFecNac.Text = "" Or Me.txtNombre.Text = "" Then
Activar = False
ElseIf Me.txtPeso.Text = "" Or Me.txtSexo.Text = "" Then
Activar = False
ElseIf Me.txtTelefono.Text = "" Then
Activar = False
ElseIf Not IsNumeric(Me.txtPeso.Text) = True Then
Activar = False
ElseIf Not IsDate(Me.txtFecNac.Text) = True Then
Activar = False
ElseIf Me.txtSexo.Text = "M" Or Me.txtSexo.Text = "F" Then
Activar = True
ElseIf Me.txtSexo.Text = "m" Or Me.txtSexo.Text = "f" Then
Activar = True
Else
Activar = True
End If
If Activar = True Then
Me.btnGrabar.Enabled = True
Else
Me.btnGrabar.Enabled = False
End If
End Sub
Call AbrirBase()
Call AbrirAmigos()
Call LlenarAmigos()
SoloLectura(True)
ActivarBotones(False)
Call LlenarControles(Me.lstAmigos.SelectedItem)
Call SoloLectura(True)
Me.btnCancelar.Enabled = False
Me.btnGrabar.Enabled = False
Me.btnModificar.Enabled = True
Me.btnEliminar.Enabled = True
RS.AddNew()
Me.lstAmigos.Enabled = False
LimpiarControles()
SoloLectura(False)
SoloLectura(False)
Me.lstAmigos.Enabled = False
RS.Delete()
LlenarAmigos()
LimpiarControles()
Me.Close()
RS.CancelUpdate()
SoloLectura(True)
LlenarAmigos()
With Campo
.Item(0).Value = CStr(Me.txtNombre.Text)
.Item(1).Value = CStr(Me.txtDireccion.Text)
.Item(2).Value = CStr(Me.txtDistrito.Text)
.Item(3).Value = CStr(Me.txtTelefono.Text)
.Item(4).Value = CStr(Me.txtFecNac.Text)
.Item(5).Value = CStr(Me.txtSexo.Text)
.Item(6).Value = CStr(Me.txtPeso.Text)
End With
RS.Update()
ActivarBotones(False)
SoloLectura(True)
LlenarAmigos()
LlenarControles(Me.txtNombre.Text)
Me.lstAmigos.SelectedIndex = Me.lstAmigos.Items.Count - 1
Me.lstAmigos.Enabled = True
CerrarBase()
Verificar()
APLICACIN 50
bdAdmision
tbAula tbCarrera
tbDatos tbPostulante
tbPuntaje tbTurno
Imports ADODB
Module BaseDatos
End Module
Formulario frmAplicacion50
Control Name
MenuItem1 mnuPostulante
MenuItem3 mnuMatricular
MenuItem3 mnuIngPunt
MenuItem4 mnuConsultas
MenuItem5 mnuConsuPost
MenuItem6 mnuConsAula
MenuItem7 mnuConsCar
3. Codificar.
Call AbrirBase()
CerrarBase()
Formulario frmMatricula
1. Disear el Formulario.
Control Name
TextBox1 txtCodigo
TextBox2 txtNombre
TextBox3 txtApellidos
TextBox4 txtEdad
ComboBox1 cboCarrera
ComboBox2 cboTurno
ComboBox3 cboAula
Button1 btnNuevo
Button2 btnGrabar
Button3 btnSalir
3. Codificar.
Procedimiento LlenarCarrera
Sub LlenarCarrera()
rsCarrera.MoveFirst()
While Not rsCarrera.EOF
Me.cboCarrera.Items.Add(CStr(cpCarrera.Item(1).Value))
rsCarrera.MoveNext()
End While
End Sub
Procedimiento LlenarTurno
Sub LlenarTurno()
rsTurno.MoveFirst()
While Not rsTurno.EOF
Me.cboTurno.Items.Add(CStr(cpTurno.Item(1).Value))
rsTurno.MoveNext()
End While
End Sub
Procedimiento LlenarAula
Sub LlenarAula()
rsAula.MoveFirst()
While Not rsAula.EOF
Me.cboAula.Items.Add(CStr(cpAula.Item(1).Value))
rsAula.MoveNext()
End While
End Sub
Procedimiento CodigoCarrera
Procedimiento CodigoTurno
Procedimiento CodigoAula
Procedimiento LimpiarControles
Sub LimpiarControles()
Me.txtApellidos.Text = ""
Me.txtCodigo.Text = ""
Me.txtEdad.Text = ""
Me.txtNombre.Text = ""
Me.cboAula.Text = ""
Me.cboCarrera.Text = ""
Me.cboTurno.Text = ""
Me.txtCodigo.Focus()
End Sub
Procedimiento BloquearControles
Call AbrirCarrera()
Call AbrirTurno()
Call AbrirAula()
Call AbrirPostulante()
Call AbrirDatos()
Call LlenarCarrera()
Call LlenarTurno()
Call LlenarAula()
Call LimpiarControles()
Call BloquearControles(True)
rsPostulante.AddNew()
rsDatos.AddNew()
Call LimpiarControles()
Call BloquearControles(False)
Call CodigoCarrera(Me.cboCarrera.Text)
Call CodigoTurno(Me.cboTurno.Text)
Call CodigoAula(Me.cboAula.Text)
With cpDatos
.Item(0).Value = CStr(Me.txtCodigo.Text)
.Item(1).Value = CStr(Me.txtNombre.Text)
.Item(2).Value = CStr(Me.txtApellidos.Text)
.Item(3).Value = CStr(Me.txtEdad.Text)
End With
rsDatos.Update()
With cpPostulante
.Item(0).Value = CStr(Me.txtCodigo.Text)
.Item(1).Value = CStr(cpCarrera.Item(0).Value)
.Item(2).Value = CStr(cpTurno.Item(0).Value)
.Item(3).Value = CStr(cpAula.Item(0).Value)
End With
rsPostulante.Update()
Call BloquearControles(True)
Me.Close()
Call CerrarCarrera()
Call CerrarTurno()
Call CerrarAula()
Call CerrarPostulante()
Call CerrarDatos()
Formulario frmPuntaje
1. Disear el Formulario.
Control Name
TextBox1 txtRC
TextBox2 txtRI
Label1 txtNombre
Label2 txtApellidos
ComboBox1 cboCodigo
Button1 btnNuevo
Button2 btnGrabar
Button3 btnSalir
3. Codificar.
Procedimiento LlenarCodigo
Sub LlenarCodigos()
rsDatos.MoveFirst()
While Not rsDatos.EOF
Me.cboCodigo.Items.Add(CStr(cpDatos.Item(0).Value))
rsDatos.MoveNext()
End While
End Sub
Procedimiento LlenarDatos
Procedimiento Limpiar
Sub Limpiar()
Me.lblApellidos.Text = ""
Me.lblNombres.Text = ""
Me.txtRC.Text = ""
Me.txtRI.Text = ""
Me.cboCodigo.Text = ""
Me.cboCodigo.Focus()
End Sub
Procedimiento BloquearControles
Call AbrirDatos()
Call AbrirPuntaje()
Call LlenarCodigos()
Call BloquearControles(True)
Call Limpiar()
Call CerrarDatos()
Call CerrarPuntaje()
Call LlenarDatos(Me.cboCodigo.Text)
Me.Close()
Call BloquearControles(False)
Call Limpiar()
rsPuntaje.AddNew()
Formulario frmConsultavb
1. Disear el Formulario.
Control Name
ListBox1 lstCodigo
ListBox2 lstNombre
ListBox3 lstApellidos
ListBox4 lstCarrera
Button1 btnAceptar
Button2 btnSalir
3. Codificar.
Procedimiento LlenarDatos
Sub LlenarDatos()
rsDatos.MoveFirst()
While Not rsDatos.EOF
Me.lstCodigo.Items.Add(CStr(cpDatos.Item(0).Value))
Me.lstNombres.Items.Add(CStr(cpDatos.Item(1).Value))
Me.lstApellidos.Items.Add(CStr(cpDatos.Item(2).Value))
rsPostulante.MoveFirst()
While CStr(cpDatos.Item(0).Value) <> CStr(cpPostulante.Item(0).Value)
rsPostulante.MoveNext()
End While
Carrera(CStr(cpPostulante.Item(1).Value))
Me.lstCarrera.Items.Add(CStr(cpCarrera.Item(1).Value))
rsDatos.MoveNext()
End While
End Sub
Procedimiento Carrera
Call AbrirDatos()
Call AbrirCarrera()
Call AbrirPostulante()
Call LlenarDatos()
Call CerrarDatos()
Call CerrarCarrera()
Call CerrarPostulante()
Me.Close()
Formulario frmConsultaAula
1. Disear el Formulario.
Control Name
ListBox1 lstCodigo
ListBox2 lstApellidos
ListBox3 lstNombre
ListBox4 lstTurno
Button1 btnSalir
ComboBox1 cboAula
3. Codificar.
Procedimiento LlenarAula
Sub LlenarAula()
rsAula.MoveFirst()
While Not rsAula.EOF
Me.cboAula.Items.Add(CStr(cpAula.Item(1).Value))
rsAula.MoveNext()
End While
End Sub
Procedimiento Datos
Procedimiento Turno
Procedimiento Postulante
Procedimiento Aula
Call AbrirPostulante()
Call AbrirDatos()
Call AbrirTurno()
Call AbrirAula()
Call LlenarAula()
Call CerrarPostulante()
Call CerrarDatos()
Call CerrarTurno()
Call CerrarAula()
Call Aula(CStr(Me.cboAula.Text))
Me.Close()
Formulario frmConsultaIng
1. Disear el Formulario.
Control Name
ListBox1 lstCodigo
ListBox2 lstNombre
ListBox3 lstApellidos
Button1 btnSalir
ComboBox1 cboCarrera
3. Codificar.
Procedimiento LlenarCarreras
Sub LlenarCarreras()
rsCarrera.MoveFirst()
While Not rsCarrera.EOF
Me.cboCarrera.Items.Add(CStr(cpCarrera.Item(1).Value))
rsCarrera.MoveNext()
End While
End Sub
Procedimiento Datos
Procedimiento Carrera
Procedimiento Postulante
Procedimiento Puntaje
Call AbrirPostulante()
Call AbrirDatos()
Call AbrirCarrera()
Call AbrirPuntaje()
Call LlenarCarreras()
Call CerrarPostulante()
Call CerrarDatos()
Call CerrarCarrera()
Call CerrarPuntaje()
Me.lstApellidos.Items.Clear()
Me.lstCodigo.Items.Clear()
Me.lstNombres.Items.Clear()
Call Carrera(Me.cboCarrera.Text)
Me.Close()
REPORTES
Para crear reportes con el Crystal Report que nos viene con el Visual Studio,
primero tendremos que crear un proyecto, y de ah les ir explicando paso a paso.
APLICACIN 51
bdExamen
tbCarrera tbPagos
tbRecibo
Imports ADODB
Module BaseDatos
End Module
Formulario frmMDI
Control Name
MenuItem1 mnuPostulantes
MenuItem3 mnuMantCar
MenuItem3 mnuMantPag
MenuItem4 mnuMantRec
MenuItem5 MenuItem5
MenuItem6 mnuSalir
MenuItem7 mnuReportes
MenuItem8 mnuRepTur
MenuItem9 mnuRepCar
3. Codificar.
Call AbrirBase()
Me.Close()
Call CerrarBase()
Formulario frmCarrera
Control Name
TextBox1 txtCodigo
TextBox2 txtNombre
ComboBox1 cbocarrera
ComboBox2 cboTurno
ListBox1 lstCodigo
ListBox2 lstNombre
ListBox3 lstCarrera
ListBox4 lstTurno
Button1 btnNuevo
Button2 btnGrabar
Button3 btnSalir
Procedimiento Limpiar
Sub Limpiar()
Me.txtCodigo.Text = ""
Me.txtNombre.Text = ""
Me.cboCarrera.Text = ""
Me.cboTurno.Text = ""
Me.txtCodigo.Focus()
End Sub
Procedimiento Bloquear
Procedimiento LlenarListas
Sub LlenarListas()
Me.lstCarrera.Items.Clear()
Me.lstCodigo.Items.Clear()
Me.lstNombre.Items.Clear()
Me.lstTurno.Items.Clear()
rsCarrera.MoveFirst()
While Not rsCarrera.EOF
With cpCarrera
Me.lstCodigo.Items.Add(CStr(.Item(0).Value))
Me.lstNombre.Items.Add(CStr(.Item(1).Value))
Me.lstCarrera.Items.Add(CStr(.Item(2).Value))
Me.lstTurno.Items.Add(CStr(.Item(3).Value))
End With
rsCarrera.MoveNext()
End While
End Sub
Me.cboCarrera.Items.Add("Administracin")
Me.cboCarrera.Items.Add("Computacin e Informtica")
Me.cboCarrera.Items.Add("Contabilidad")
Me.cboTurno.Items.Add("Diurno")
Me.cboTurno.Items.Add("Nocturno")
Call AbrirCarrera()
Call Limpiar()
Call Bloquear(True)
Call LlenarListas()
btnNuevo(Evento Click)
Call Bloquear(False)
Limpiar()
rsCarrera.AddNew()
Me.Close()
With cpCarrera
.Item(0).Value = CStr(Me.txtCodigo.Text)
.Item(1).Value = CStr(Me.txtNombre.Text)
.Item(2).Value = CStr(Me.cboCarrera.Text)
.Item(3).Value = CStr(Me.cboTurno.Text)
End With
rsCarrera.Update()
Bloquear(True)
Call LlenarListas()
Call CerrarCarrera()
Formulario frmPagos
Control Name
TextBox1 txtCurCar
TextBox2 txtCurRep
TextBox3 txtCurConv
ComboBox1 cboCodigo
Label7 lblTotal
ListBox1 lstCodigo
ListBox2 lstCurCar
ListBox3 lstCurRep
ListBox4 lstCurConv
ListBox5 lstTotal
Button1 btnNuevo
Button2 btnGrabar
Button3 btnSalir
Procedimiento Limpiar
Sub Limpiar()
Me.txtCurCar.Text = ""
Me.txtCurConv.Text = ""
Me.txtCurRep.Text = ""
Me.cboCodigo.Text = ""
Me.lblTotal.Text = ""
Me.cboCodigo.Focus()
End Sub
Procedimiento Bloquear
Procedimiento LlenarCodigos
Sub LlenarCodigos()
rsCarrera.MoveFirst()
While Not rsCarrera.EOF
Me.cboCodigo.Items.Add(CStr(cpCarrera.Item(0).Value))
rsCarrera.MoveNext()
End While
End Sub
Procedimiento LlenarListas
Sub LlenarListas()
Me.lstCodigo.Items.Clear()
Me.lstCurCar.Items.Clear()
Me.lstCurConv.Items.Clear()
Me.lstCurRep.Items.Clear()
Me.lstTotal.Items.Clear()
rsPagos.MoveFirst()
While Not rsPagos.EOF
With cpPagos
Me.lstCodigo.Items.Add(CStr(.Item(0).Value))
Me.lstCurCar.Items.Add(CStr(.Item(1).Value))
Me.lstCurRep.Items.Add(CStr(.Item(2).Value))
Me.lstCurConv.Items.Add(CStr(.Item(3).Value))
Me.lstTotal.Items.Add(CStr(.Item(4).Value))
End With
rsPagos.MoveNext()
End While
End Sub
frmPagos(Evento Load)
Call AbrirPagos()
Call AbrirCarrera()
Call Limpiar()
Call Bloquear(True)
Call LlenarCodigos()
Call LlenarListas()
btnNuevo(Evento Click)
Call Bloquear(False)
Call Limpiar()
rsPagos.AddNew()
Me.Close()
Call CerrarPagos()
Call CerrarCarrera()
Formulario frmMatricula
Control Name
TextBox1 txtApellido
ComboBox1 cboCodigo
ComboBox2 cboCondicion
Label7 lblRecargo
Label8 lblMatricula
ListBox1 lstCodigo
ListBox2 lstApellido
ListBox3 lstCondicion
ListBox4 lstRecargo
ListBox5 lstMatricula
Button1 btnNuevo
Button2 btnGrabar
Button3 btnSalir
Button4 btnRecibo
Procedimiento Limpiar
Sub Limpiar()
Me.txtApellido.Text = ""
Me.cboCodigo.Text = ""
Me.cboCondicion.Text = ""
Me.lblMatricula.Text = ""
Me.lblRecargo.Text = ""
Me.cboCodigo.Focus()
End Sub
Procedimiento Bloquear
Procedimiento LlenarCodigos
Sub LlenarCodigos()
rsCarrera.MoveFirst()
While Not rsCarrera.EOF
Me.cboCodigo.Items.Add(CStr(cpCarrera.Item(0).Value))
rsCarrera.MoveNext()
End While
End Sub
Procedimiento LlenarListas
Sub LlenarListas()
Me.lstApellido.Items.Clear()
Me.lstCodigo.Items.Clear()
Me.lstCondicion.Items.Clear()
Me.lstMatricula.Items.Clear()
Me.lstRecargo.Items.Clear()
rsRecibo.MoveFirst()
While Not rsRecibo.EOF
With cpRecibo
Me.lstCodigo.Items.Add(.Item(0).Value)
Me.lstApellido.Items.Add(.Item(1).Value)
Me.lstCondicion.Items.Add(.Item(2).Value)
Me.lstRecargo.Items.Add(.Item(3).Value)
Me.lstMatricula.Items.Add(.Item(4).Value)
End With
rsRecibo.MoveNext()
End While
End Sub
frmMatricula(Evento Load)
Call AbrirCarrera()
Call AbrirRecibo()
Call LlenarCodigos()
Me.cboCondicion.Items.Add("Extemporneo")
Me.cboCondicion.Items.Add("Regular")
Call Limpiar()
Call Bloquear(True)
Call LlenarListas()
btnNuevo(Evento Click)
rsRecibo.AddNew()
Call Limpiar()
Call Bloquear(False)
btnRecibo(Evento Click)
Me.Close()
Call CerrarCarrera()
Call CerrarRecibo()
7. Una vez creada nuestra conexin con la base de datos, pasaremos a seleccionar
la tabla de donde queramos crear nuestra consulta, si en caso queremos crear
un reporte que contenga datos de ms de una tabla. Deberemos de seleccionar
las tablas de donde provienen los datos, en este caso solo seleccionaremos la
tabla tbRecibo, ya que estamos creando un reporte donde nos va a mostrar por
grupos a todos los alumnos segn su matricula, ya sea extempornea o regular.
9. Esta es una de las ventanas mas importantes para nuestra creacin de nuestro
reporte, ya que aqu indicamos mediante que grupo ser el reporte, por ejemplo
en nuestro caso, estamos creando un reporte que nos muestre a los
matriculados segn la condicin de su matricula, ya sea extempornea o
Regular, as que para que lo agrupe en esos dos tipos agregaremos
tbRecibo.condicion desde los campos disponible en el rbol de Campos del
Informe, para que este se agrupe segn su condicin de matricula, si en caso
queremos que se agrupen por apellidos, agregaremos tbRecibo.apellido, o si
queremos que se agrupen por el monto de recargo, seleccionaremos
tbRecibo.recargo, y as sucesivamente, segn lo que nosotros queramos que se
muestre nuestro informe.
Despus de seleccionar como vas a ser agrupado los datos, daremos clic en
siguiente.
10. Aqui escogeremos como va a ser ordenado el grupo y que operacin queramos
que haga, por ejemplo para este reporte le indicamos que haga una suma de
todo el campo recargo de nuestra tabla, aunque mas lgico seria que haga una
suma de todo el campo matricula de la tabla, segn su condicin, eso se los
dejo de tarea.
11. Bueno ahora entramos a todo lo que es el diseo de nuestro reporte como lo
ven. Ponerle un titulo a nuestro reporte, a los grupos, etc.
Una vez de haber alterado algunos textos de nuestro reporte daremos clic en
siguiente.
12. Esta ventana nos mostrar los grupos que habr en el reporte, as que no
modificaremos nada ac, y le daremos clic en siguiente.
Control CrystalReportView
Este control nos permite visualizar el reporte que hemos creado en nuestro
proyecto con el Crystal Report, para indicar a este control el reporte que vamos a
ver, tendremos que especificar el reporte a mostrar en la propiedad ReportSource.
Formulario frmReporte
Control Name
CrystalReportViewer1 ReportView
Formulario frmReportView
Este reporte nos mostrara los nombres, codigos, carrera de los alumnos
agrupado por turnos,
Control Name
CrystalReportViewer1 CrystalReportViewer1
Bueno seores, con esto acabo con la cuarta entrega, he tocado algunas cosas
en general, como son consultas, reportes en Crystal Report, me hubiera
encantado hacer mas programas con estos tipos de ejemplo, pero estoy con
trabajo que hacer, as que espero que les sea de utilizada, para la prxima
entrega si hago un pequeo sistema con base de datos SQL, consultas y si me
alcanza tiempo tambin crearemos reportes.
Me gustara que tengan algo en claro, mi correo esta solo para consultas sobre
el manual u otra cosilla con respecto a la programacin en visual Basic, no para
pedir que les haga un sistema que a ustedes se les asigne, yo soy como
ustedes, solo hago sistemas para empresas que me pagan, y si hago un sistema
o programa en general, lo publico en una pagina Web para su descarga gratuita.
Espero que les sea de bastante utilidad esta entrega, ya saben que para
cualquier cosa esta mi correo jmchm19@hotmail.com que les responder lo mas
rpido posible, bueno ya me despido, aqu en Per estamos acabando el verano, as
que tengo unos cuantos das para ir a la playa, bye y cudense.
Cuenta en Soles:
067-3008573552
Cuenta en Dlares:
067-3008573560
www.interbank.com.pe