Professional Documents
Culture Documents
E.S.O.-ProgramacinyMatemticas
(VolII)
FranciscoLuisFloresGil
2008.FranciscoLuisFloresGil
Portadadiseoydifusindelaobra:ttakus
Edicincortesadewww.publicatuslibros.com.Debereconocer
loscrditosdelaobradelamaneraespecificadaporelautoroel
licenciador(peronodeunamaneraquesugieraquetienesu
apoyooapoyanelusoquehacedesuobra).Nopuedeutilizar
estaobraparafinescomerciales.Sialteraotransformaesta
obra,ogeneraunaobraderivada,slopuededistribuirlaobra
generadabajounalicenciaidnticaasta.Alreutilizarodistribuir
laobra,tienequedejarbienclarolostrminosdelalicenciade
estaobra.Algunadeestascondicionespuedenoaplicarsesise
obtieneelpermisodeltitulardelosderechosdeautor.Nadaen
estalicenciamenoscabaorestringelosderechosmoralesdel
autor.
Publicatuslibros.comesunainiciativade:
ttakus,sociedadparalainformacin,S.L.
C/SierraMgina,10.
23009Jan-Espaa
www.ittakus.com
NDICE
1. INTRODUCCIN................................................................................................................ 6
2. QUESVISUALBASIC?................................................................................................. 7
3. PRCTICA1.CALCULADORAREDUCIDA....................................................................... 8
3.1. OBJETOSDELAAPLICACIN......................................................................................... 9
3.2. PROPIEDADESDELOSOBJETOS ................................................................................... 9
3.3. CDIGODELAAPLICACIN ........................................................................................ 10
4. PRCTICA2.CALCULADORACOMPLETA.................................................................... 11
4.1. OBJETOSDELAAPLICACINYSUSPROPIEDADES........................................................ 11
4.2. FORMULARIOYMDULODELAAPLICACIN................................................................. 12
4.2.1. Mdulo .................................................................................................................... 12
4.2.2. Formulario............................................................................................................... 14
5. PRCTICA3.ELASISTENTEPARAAPLICACIONESDEVB ........................................ 17
5.1. INTRODUCCIN. ........................................................................................................ 17
5.2. CREARUNFORMULARIO ............................................................................................ 18
5.2.1. AsistenteparaaplicacionesIntroduccin ............................................................. 18
5.2.2. AsistenteparaaplicacionesTipodeinterfaz ........................................................ 18
5.2.3. AsistenteparaaplicacionesMens ...................................................................... 18
5.2.4. AsistenteparaaplicacionesPersonalizarlabarradeherramientas..................... 18
5.2.5. AsistenteparaaplicacionesRecursos.................................................................. 18
5.2.6. AsistenteparaaplicacionesConexinainternet.................................................. 19
5.2.7. AsistenteparaaplicacionesFormulariosestndar............................................... 19
5.2.8. AsistenteparaaplicacionesFormulariodeaccesoadatos ................................. 19
5.2.8.1. AsistenteparaformulariodedatosPantallaIntroduccin.......................... 20
5.2.8.2. AsistenteformulariodedatosPantallaTipodebasededatos .................. 20
5.2.8.3. AsistenteparaformulariodedatosBasededatos..................................... 20
5.2.8.4. AsistenteparaformulariodedatosFormulario........................................... 21
5.2.8.5. AsistenteparaformulariodedatosOrigendedatos .................................. 21
5.2.8.6. AsistenteparaformulariodedatosSeleccindecontroles ....................... 22
5.2.8.7. AsistenteparaformulariodedatosFinalizado ........................................... 22
5.2.8.8. AsistenteparaformulariodedatosFinalizado ........................................... 23
5.3. RESULTADODELAPRCTICA ..................................................................................... 24
6. PRCTICA4.CREARUNFORMULARIOMAESTRO-DETALLE .................................. 25
6.1. TABLASNECESARIAS ................................................................................................. 25
6.2. ASISTENTEPARAAPLICACIONESINTRODUCCIN ....................................................... 25
6.3. ASISTENTEPARAAPLICACIONESTIPODEINTERFAZ................................................... 26
6.4. ASISTENTEPARAAPLICACIONESMENS ................................................................... 26
6.5. ASISTENTEPARAAPLICACIONESPERSONALIZARBARRADEHERRAMIENTAS................ 27
6.6. ASISTENTEPARAAPLICACIONESRECURSOS ............................................................. 27
6.7. ASISTENTEPARAAPLICACIONESCONEXINAINTERNET ............................................ 27
6.8. ASISTENTEPARAAPLICACIONESFORMULARIOESTNDAR.......................................... 27
6.9. ASISTENTEPARAAPLICACIONESFORMULARIODEACCESOADATOS ........................... 27
6.9.1. AsistenteparaformulariodedatosIntroduccin .................................................. 28
6.9.2. AsistenteparaformulariodedatosPantallatipodebasededatos...................... 28
6.9.3. AsistenteparaformulariodedatosBasededatos............................................... 28
6.9.4. AsistenteparaformulariodedatosFormulario..................................................... 29
6.9.5. AsistenteparaformulariodedatosOrigenderegistrosprincipal ......................... 30
6.9.6. AsistenteformulariodedatosRelacindelorigenderegistros ........................... 31
6.9.7. AsistenteparaformulariodedatosSeleccindecontroles.................................. 31
DidcticadeNuevasTecnologasenlaE.S.O.
4
DidcticadeNuevasTecnologasenlaE.S.O.
5
6.9.8. AsistenteparaformulariodedatosFinalizado...................................................... 32
6.10. ASISTENTEPARAAPLICACIONESFINALIZADO............................................................. 33
7. MODIFICARELMENDELPROYECTOGESTION_DE_PEDIDOS............................... 35
8. AGREGARELFORMULARIOCLIENTESALPROYECTOGESTION_DE_PEDIDOS.... 39
9. PRCTICA5.CREARFORMULARIODEMANTENIMIENTODEUNATABLA............... 42
9.1. OBJETIVOS ............................................................................................................... 42
9.2. ELADMINISTRADORVISUALDEBASEDEDATOSDEVISUALBASIC............................... 43
9.3. CREARELFORMULARIODEMANTENIMIENTODELATABLAPROVINCIAS........................ 46
9.3.1. Creacindelproyecto............................................................................................. 46
9.3.2. Objetosdelformulario............................................................................................. 46
9.3.3. Cdigodelformulario.............................................................................................. 48
10. PRCTICA6.CREARFORMULARIODECONSULTA................................................ 50
10.1. CREACINDELPROYECTO......................................................................................... 51
10.2. AGREGARCOMPONENTE............................................................................................ 51
10.3. OBJETOSDELFORMULARIO........................................................................................ 52
10.4. CDIGODELFORMULARIO ......................................................................................... 53
10.5. RESULTADO.............................................................................................................. 54
11. PRCTICA7.CREARINFORMEDEDATOS.............................................................. 55
11.1. OBJETIVO ................................................................................................................. 56
11.2. AGREGARDATAENVIROMENTYESTABLECERCONEXINCONBASEDEDATOS ............. 56
11.3. CREACINDELINFORME............................................................................................ 62
11.4. VISUALIZARELINFORME ............................................................................................ 63
1. Introduccin
ElVisualBasic6.0constituyeunlenguajedeprogramacinmuyvisualysencillode
manejar.
SugrancoordinacinconotrasherramientasdeMicrosoftcomoExcelyAccessas
comolosencillodesuaprendizajeloconvierteenunlenguajedeprogramacinmuy
propioparalosquesequieraniniciarenelmundodelaprogramacin.
AlmismotiempoMicrosoftproporcionademaneragratuitaversionesparaserusadas
porelpersonaldocentedesdesupginaweb.
EsporestoporloqueesidealparaaquellosprofesoresyalumnosdelaE.S.O.que
quieranaprenderunlenguajedeprogramacin.
EnestelibrotrataremosdeexplicarlospuntosfundamentalesdelVisualBasic
medianteprcticasqueirnsiendoexplicadaspasoapaso.
DidcticadeNuevasTecnologasenlaE.S.O.
6
2. QuesVisualBasic?
VisualBasicesunlenguajedeprogramacindesarrolladoporAlanCooperpara
Microsoft.
EllenguajedeprogramacinesundialectodeBASIC,conimportantesaadidos.
Suprimeraversinfuepresentadaen1991conlaintencindesimplificarla
programacinutilizandounambientededesarrollocompletamentegrficoque
facilitaralacreacindeinterfacesgrficasyenciertamedidatambinlaprogramacin
misma.
VisualBasicconstituyeunIDE(entornodedesarrollointegradooeninglsIntegrated
DevelopmentEnviroment)quehasidoempaquetadocomounprogramadeaplicacin,
esdecir,consisteenuneditordecdigo(programadondeseescribeelcdigofuente),
undepurador(programaquecorrigeerroresenelcdigofuenteparaquepuedaser
biencompilado),uncompilador(programaquetraduceelcdigofuentealenguajede
mquina),yunconstructordeinterfazgrficaoGUI(esunaformadeprogramarenla
quenoesnecesarioescribirelcdigoparalapartegrficadelprograma,sinoquese
puedehacerlodeformavisual).
EnestelibrovamosausarlaversinVisualBasic6.0.
DidcticadeNuevasTecnologasenlaE.S.O.
7
3. Prctica1.Calculadorareducida
LosalumnosdelaE.S.O.trabajanfrecuentementeconlacalculadoraenclasepara
realizartodotipodeoperacionesmatemticas.
EnloscasosdeloscentrosTICelusodelosordenadoresdurantelasclasesesmuy
frecuenteporloquelosalumnosestnacostumbradosalmanejolacalculadoraque
traenlosdiferentessistemasoperativoscomoWINDOWS.Pero,conocenrealmente
comofuncionainternamenteunacalculadora?
ConestaprcticaenVisualBasic,losalumnos
entendernperfectamenteelfuncionamientodeuna
calculadoraviendolasdiferentesoperacionesquedebe
derealizarinternamentecadavezquelausamos.
Estetipodeprcticaspuedeenglobarvariasasignaturas:
Matemticas,TecnologaeInformtica,porloquelos
profesoresdeberncoordinarseparasurealizacin.
Acontinuaciniremosdescribiendolosdiferentespasosquedebernirdandolos
alumnosparaobtenerfinalmentesucalculadorasimple,quetendrlasiguiente
apariencia.
DidcticadeNuevasTecnologasenlaE.S.O.
8
3.1. Objetosdelaaplicacin
Losobjetosqueusaremosenlaprcticasern:
txtTotal
cmdOf
cmdLimpiar cmdIgual cmdResta
cmdSuma
txtElemento
txtOperacion
txtElemento
lblIgual
3.2. Propiedadesdelosobjetos
Laspropiedadesdelosobjetosqueusaremosenlaprcticasern:
Nombredelobjeto
Propiedades
txtElemento1 Nombre:txtElemento1
Alignment:RightJustifity
Text:
txtOperacion Nombre:txtOperacion
Alignment:Center
Text:
Enabled:False
txtElemento2 Nombre:txtElemento
Alignment:RightJustifity
Text:
TxtTotal Nombre:txtTotal
Alignment:RightJustifity
Text:
Enabled:False
LblIgual Nombre:lblIgual
Alignment:Center
Caption:=
CmdSuma Nombre:cmdSuma
Caption:+
CmdResta Nombre:cmdResta
Caption:-
cmdLimpiar Nombre:cmdLimpiar
Caption:+
CmdOff Nombre:cmdOff
Caption:+
DidcticadeNuevasTecnologasenlaE.S.O.
9
3.3. Cdigodelaaplicacin
Elnicoformularioexistentetendrporcdigo:
PrivateSubcmdIgual_Click()
OnErrorGoToError
IftxtOperacion.Text="+"Then
txtTotal.Text=Val(txtElemento1.Text)+Val(txtElemento2.Text)
Else
IftxtOperacion.Text="-"Then
txtTotal.Text=Val(txtElemento1.Text)-Val(txtElemento2.Text)
Else
MsgBox "Introduzca la operacin que desea realizar",
vbInformation,"AVISO"
EndIf
EndIf
Error:
IfErr.Number<>0Then
MsgBox"DescripcindelError:"&Err.Description,vbCritical,
"ERROR"
EndIf
ExitSub
EndSub
PrivateSubcmdLimpiar_Click()
txtOperacion.Text=""
txtElemento1.Text=0
txtElemento2.Text=0
txtTotal.Text=0
EndSub
PrivateSubcmdOff_Click()
End
EndSub
PrivateSubcmdResta_Click()
txtOperacion.Text="-"
EndSub
PrivateSubcmdSuma_Click()
txtOperacion.Text="+"
EndSub
PrivateSubForm_Load()
txtElemento1.Text=0
txtElemento2.Text=0
txtTotal.Text=0
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
10
4. Prctica2.Calculadoracompleta
Objetivo:Crearunacalculadoraconelsiguienteaspecto:
4.1. Objetosdelaaplicacinysuspropiedades
Laspropiedadesdelosobjetosqueusaremosenlaprcticasern:
Nombredelobjeto
Propiedades
cmd0 Nombre:cmd0
Caption:0
cmd1 Nombre:cmd1
Caption:1
cmd9 Nombre:cmd9
Caption:9
CmdPunto Nombre:cmdPunto
Caption:.
cmdDivision Nombre:cmdDivision
Caption:/
cmdMultiplicacion Nombre:cmdMultiplicacion
Caption:*
CmdResta Nombre:cmdResta
Caption:-
CmdSuma Nombre:cmdSuma
Caption:+
CmdSqrt Nombre:cmdsqrt
Caption:sqrt
cmdInverso Nombre:cmdInverso
Caption:1/x
CmdSuma Nombre:cmdCE
Caption:CE
CmdSigno Nombre:cmdSigno
Caption:+/-
CmdIgual Nombre:cmdIgual
Caption:=
Text1 Nombre:Text1
Alignment:RightJustifity
Text:
DidcticadeNuevasTecnologasenlaE.S.O.
11
4.2. Formularioymdulodelaaplicacin
EstaprcticaenVisualBasicnosloestcompuestadeunFormulario,comola
anterior,sinotambindeunmdulo.
UnmduloesunficheroVisualBasicdondeescribimospartedelcdigodenuestro
programa,ysloparte,porquesuelehabercdigoenelformulariotambin.
4.2.1. Mdulo
Ennuestromdulovamosadefinirunaseriedevariablesquenosservirnpara
controlarelfuncionamientodelaaplicacin.
LasvariablesdeclaradassernpublicasparaellousaremoslapalabraPublicy
porelloestarnaccesiblesdesdetodoslosformulariosdelaaplicacin.Para
conseguirlotendremosquedeclararlasenelmdulodecdigo,noenla
seccindeclarationsdelformulariodelosqueconstelaaplicacin.
ParacrearunmdulodecdigoenelmenprincipaldeVisualBasicmarcamos
enelmenprincipallassiguientesopcionesProyecto/Agregarmduloy
aparecerjuntoalosdemsformulariosdelaventanadeproyectoaunquecon
uniconodistintoindicandoquesetratadeunmdulodecdigo.
Suaparienciaeslasiguiente:
Elcdigoquepondremosennuestromduloser:
PublicAAsDouble
PublicCAsDouble
PublicFlagAsString
PublicblnLimpiarAsBoolean
PublicblnsignAsBoolean
SubLimpiar()
IfblnLimpiar=TrueThen
frmCalculadora.Text1.Text=""
blnLimpiar=False
EndIf
EndSub
SubOperacion()
SelectCaseFlag
Case"suma"
A=A+Val(frmCalculadora.Text1.Text)
Case"resta"
DidcticadeNuevasTecnologasenlaE.S.O.
12
A=A-Val(frmCalculadora.Text1.Text)
Case"multiplicacion"
A=A*Val(frmCalculadora.Text1.Text)
Case"division"
IfVal(frmCalculadora.Text1.Text)<>0ThenA=A/
Val(frmCalculadora.Text1.Text)
CaseElse
A=Val(frmCalculadora.Text1.Text)
EndSelect
frmCalculadora.Text1.Text=A
blnLimpiar=True
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
13
4.2.2. Formulario
Elformulariotendrelsiguientecdigo:
PrivateSubForm_Load()
Text1.Text=""
A=0
C=0
Flag=""
blnsign=False
blnLimpiar=False
EndSub
PrivateSubcmd0_Click()
Limpiar
Text1.Text=Text1.Text&"0"
EndSub
PrivateSubcmd1_Click()
Text1.Text=Text1.Text&"1"
EndSub
PrivateSubcmd2_Click()
Limpiar
Text1.Text=Text1.Text&"2"
EndSub
PrivateSubcmd3_Click()
Limpiar
Text1.Text=Text1.Text&"3"
EndSub
PrivateSubcmd4_Click()
Limpiar
Text1.Text=Text1.Text&"4"
EndSub
PrivateSubcmd5_Click()
Limpiar
Text1.Text=Text1.Text&"5"
EndSub
PrivateSubcmd6_Click()
Limpiar
Text1.Text=Text1.Text&"6"
EndSub
PrivateSubcmd7_Click()
Limpiar
Text1.Text=Text1.Text&"7"
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
14
PrivateSubcmd8_Click()
Limpiar
Text1.Text=Text1.Text&"8"
EndSub
PrivateSubcmd9_Click()
Limpiar
Text1.Text=Text1.Text&"9"
EndSub
PrivateSubcmdCE_Click()
Text1.Text=""
EndSub
PrivateSubcmdInverso_Click()
IfText1<>"0"AndText1<>""Then
Text1.Text=1/(Val(Text1.Text))
Else
MsgBox"Divisinporcero",vbCritical,"ERROR"
EndIf
EndSub
PrivateSubcmdPunto_Click()
Text1.Text=Text1.Text&"."
EndSub
PrivateSubcmdSigno_Click()
Ifblnsign=FalseThen
IfVal(Text1.Text)>0Then
Text1.Text="-"&Text1.Text
EndIf
blnsign=True
Else
Text1.Text=-Val(Text1.Text)
blnsign=False
EndIf
EndSub
PrivateSubcmdSuma_Click()
Operacion
Flag="suma"
EndSub
PrivateSubcmdResta_Click()
Operacion
Flag="resta"
EndSub
PrivateSubcmdMultiplicacion_Click()
Operacion
Flag="multiplicacion"
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
15
PrivateSubcmdDivision_Click()
Operacion
Flag="division"
EndSub
PrivateSubcmdsqrt_Click()
OnErrorGoToError
Text1.Text=Sqr(Text1.Text)
Error:
IfErr.Number<>0Then
MsgBox"Slopuedecalcularlelarazcuadradaaunnmero
positivo",vbCritical,"ERROR"
EndIf
ExitSub
EndSub
PrivateSubcmdIgual_Click()
SelectCaseFlag
Case"suma"
C=A+Val(Text1.Text)
Text1.Text=C
Case"division"
C=A/Val(Text1.Text)
Text1.Text=C
Case"multiplicacion"
C=A*Val(Text1.Text)
Text1.Text=C
Case"resta"
C=A-Val(Text1.Text)
Text1.Text=C
EndSelect
Flag=""
A=0
C=0
EndSub
ObservecomodesdeelformulariosellamaalosprocedimientosLimpiary
Operacindefinidosenelmduloqueanteriormentehacreado.
Almismotiempodentrodelformularioutilizamoslasvariablesquehaba
definidoenelmdulo,pudiendousarlasgraciasaqueenelmdulofueron
definidascomotipoPublic.
DidcticadeNuevasTecnologasenlaE.S.O.
16
5. Prctica3.ElAsistenteparaaplicacionesdeVB
5.1. Introduccin.
ElAsistenteparaaplicacionesdeVisualBasicpermitegenerarunaaplicacincomosi
de una plantilla general se tratara. Adems posteriormente y partiendo de lo que el
asistentehacreadopodremospersonalizarlaaplicacin.
SeleccionelaopcinAsistenteparaaplicacionesdeVB.Nosaparecerelasistenteel
cual esta compuesto por mltiples cuadros de dilogo en los que debe ir eligiendo y
definiendolascaractersticasdelaaplicacinquevaarealizar.
DidcticadeNuevasTecnologasenlaE.S.O.
17
5.2. Crearunformulario
Comoejemploparaelusodelasistentevamosacrearunformularioquenospermita
realizarelmantenimientocompletodelosdatosexistentesenlatablaArticulosdela
basededatos:GestionPedidos.
Nombredelatabla
Tipodedatos
Descripcin
CodArticulo
Texto
Cdigodelartculo
Descripcin
Texto
Descripcindelartculo
Texto Cometariodelartculo Comentario
5.2.1. AsistenteparaaplicacionesIntroduccin
EnlapantallaquenosaparecepulsarelbotnSiguienteyaqueennuestrocasono
tenemosningnperfildesdeelquecargarlaconfiguracin
5.2.2. AsistenteparaaplicacionesTipodeinterfaz
Elasistentepresentatresopciones:
Interfazdemltiplesdocumentos(MDI):Consisteenunaventanaprincipal
quecontienevisualmenteventanassecundarias.
Interfazdeunnicodocumento(SDI):Todaslasventanasdelaaplicacin
existenaunmismonivel
Detipoexplorador:SimilaraSDI
Vayaseleccionandounaaunacadaunadeellasyobservequealeligindolasala
derechadelcuadrodedilogonosvaapareciendoladescripcindecadaunade
lasopciones.
Ennuestrocasoelijalaopcin:Interfazdeunnicodocumento(SDI)ypongael
nombre:Gestion_de_pedidosalaaplicacin(nodejeespaciosenblancoenel
nombre)ypulseSiguiente.
5.2.3. AsistenteparaaplicacionesMens
Aqupuedeelegirlosmensysubmensquevaatenersuaplicacin.Enla
prcticadejelosquevienenpordefecto.PulseSiguiente.
5.2.4. AsistenteparaaplicacionesPersonalizarlabarradeherramientas
Personalicelabarradeherramientasprincipalquevaatenersuaplicacin.Enla
prcticadejelosquevienenpordefecto.PulseSiguiente.
5.2.5. AsistenteparaaplicacionesRecursos
DidcticadeNuevasTecnologasenlaE.S.O.
18
EnlaprcticaseleccioneNoypulseSiguiente
5.2.6. AsistenteparaaplicacionesConexinainternet
LedalaopcindetenerunexploradorWebpersonalizadoenlaaplicacinqueeste
realizando.EnlaprcticaseleccioneSycomoURLpredeterminadaponga:
http://www.tasi.us.esypulseSiguiente.
5.2.7. AsistenteparaaplicacionesFormulariosestndar
PuedeelegiralgunodelosformulariosestndarqueVisualBasicleofrece.Parala
prcticaseleccionelasopcionesmarcadasenlasiguientepantalla:
PulseSiguiente.
5.2.8. AsistenteparaaplicacionesFormulariodeaccesoadatos
EnestapantallayenlassecundariasasociadasaellaleindicaremosalAsistente
quequeremosrealizarennuestraaplicacinunaconexinconunabasededatos.
ParalaprcticapulseelbotnCrearnuevoformulario
Apareceasistenteespecficoparaformulariodedatosconlassiguientespantallas
queacontinuacinexplicamos.
DidcticadeNuevasTecnologasenlaE.S.O.
19
5.2.8.1. AsistenteparaformulariodedatosPantallaIntroduccin
Enprimerlugarnosvuelveapreguntarporelperfil,vuelvaanoseleccionar
ningunopulsandosobreSiguiente.
5.2.8.2. AsistenteformulariodedatosPantallaTipodebasededatos
SeleccionelaopcinAccessypulsesobresiguiente.
5.2.8.3. AsistenteparaformulariodedatosBasededatos
PulsesobreelbotnExaminaryseleccionelabasededatosendondeestn
latablatablasapartirdelascualesqueremoscrearelformulario.
EnlaprcticaelijalabasededatosGestionPedidosypulseelbotnSiguiente.
Atencin: La base de datos de Access se ha de encontrar en una de las
versiones soportadas por Visual Basic 6.0. En caso de dar error convertir la
base de datos desde Access a una versin anterior a la actual, por ejemplo
Access97.
Para acceder en Access a la opcin convertir la base de datos hacer:
Men principal - Herramientas Utilidades de la base de datos
Convertir base de datos
DidcticadeNuevasTecnologasenlaE.S.O.
20
5.2.8.4. AsistenteparaformulariodedatosFormulario
PngaleelnombreArticulosalformularioyteniendoencuentaqueel
formularioquequierecrearestabasadoenunanicatablaelijadentrode
DiseodelformulariolaopcinRegistroindividualycomoTipodeenlaceelija
CdigodeADO.
PulseSiguiente.
5.2.8.5. AsistenteparaformulariodedatosOrigendedatos
Enestecuadrodedilogopasaremoslainformacinalasistentedelnombrede
latablayloscamposdelamismaquequeremosqueaparezcanenel
formulario.
EnlaprcticaseleccionecomoorigenderegistrolatablaArticulos,como
camposseleccionadospasetodosloscamposdelatablayporltimoelijaque
losregistrosenelformulariosenospresentenordenadosporelcampo
CodArticulo.
DidcticadeNuevasTecnologasenlaE.S.O.
21
Finalmenteelcuadrodedilogodebequedar:
5.2.8.6. AsistenteparaformulariodedatosSeleccindecontroles
Aqupuedeelegirlosbotonesjuntoconsusfuncionalidadesquequiereque
tengaelformulario.
Paralaprcticayteniendoencuentaquequeremosrealizarelmantenimiento
completodelatabladejaremosmarcadastodaslasopcionesdisponiblesy
pulsaremoselbotnSiguiente.
5.2.8.7. AsistenteparaformulariodedatosFinalizado
PorltimopulseelbotnFinalizar.Aparecerlapantalla:
ElijaNo.
DidcticadeNuevasTecnologasenlaE.S.O.
22
LevolveraaparecerelcuadrodedilogoFormulariosdeaccesoadatos,pero
informandodequeyahacreadoelFormulariodedatosArticulos:
PulseelbotnSiguiente.
5.2.8.8. AsistenteparaformulariodedatosFinalizado
PulseelbotnFinalizar.Selepresentaelsiguientecuadrodedilogo.
Guardelaaplicacin.Desdeelmenprincipalpulselaopcin:Archivo
Guardarproyecto.Tendrqueirponindolenombreacadaunodelos
formulariosgenerados.
DidcticadeNuevasTecnologasenlaE.S.O.
23
5.3. Resultadodelaprctica
Laaplicacinresultantepresentaelsiguienteaspecto:
Observequepresentaunmenconlasopcionesquehabaseleccionado.
EligiendolaopcinFormulariodedatosArticulos,senospresentalapantallaconla
quepodremosrealizarelmantenimientodelatablaArticulosexistenteenlabasede
datosGestiondePedidos
Lanuevaaplicacinquesehacreadopuedesermodificada,personalizandocadauna
desusopciones.
DidcticadeNuevasTecnologasenlaE.S.O.
24
6. Prctica4.CrearunformularioMaestro-Detalle
EnlaanteriorprcticaexplicamoscomocrearunaaplicacinenVisualBasicformada
porunmengeneralyunformularioasociadoaunatabladelabasededatosusando
elasistenteparaaplicacionesdeVisualBasic.
Vamosacomplicarlounpocoms,paraelloenestaprcticavamosarealizartres
operaciones:
1. CreamosunnuevoformulariollamadoClientes,asociadoalastablasClientesy
Pedidos,queserdeltipoMaestro-Detalle,estoes,elformularioobtendrlos
datosdedosdelastablasdenuestrabasededatosGestionPedidos
Access97,mostrandolosregistrosdelatabladetalle(Pedidos)asociadosal
registroactivodelamaestro(Clientes).
2. Unavezcreadoesteformulario,modificaremoselmendelproyectoanterior
deformaquerecojaunaopcinparapoderaccederalnuevoformulariocreado.
3. PorltimoagregaremoselformularioClientesqueacabamosdecrearal
proyectorealizadoenlaprcticaanterior.
6.1. Tablasnecesarias
Comoejemploparaelusodelasistentevamosacrearunformularioquenos
permitarealizarelmantenimientocompletodelosdatosexistentesenlatabla
Clientesdelabasededatos:GestionPedidos.Mostrndonosasuvezenelmismo
formulariolospedidosefectuadosporelclienteactivoenelformulario.
AbraelAsistenteparaaplicacionesdeVisualBasic.
6.2. AsistenteparaaplicacionesIntroduccin
Pulsarelbotnsiguienteyaqueennuestrocasonotenemosningnperfildesdeel
quecargarlaconfiguracin
DidcticadeNuevasTecnologasenlaE.S.O.
25
6.3. AsistenteparaaplicacionesTipodeInterfaz
6.4. AsistenteparaaplicacionesMens
Como a nosotros no nos interesa crear una aplicacin completa sino slo crear un
formulariodesmarquetodos.
DidcticadeNuevasTecnologasenlaE.S.O.
26
Ledebequedarlapantallacomolasiguiente:
6.5. AsistenteparaaplicacionesPersonalizarbarradeherramientas
QuitetodaslasopcionesdelabarradeherramientasypulseSiguiente.
6.6. AsistenteparaaplicacionesRecursos
EnlaprcticaseleccioneNoypulseSiguiente.
6.7. AsistenteparaaplicacionesConexinainternet
SeleccioneNoypulseSiguiente.
6.8. AsistenteparaaplicacionesFormularioestndar
Paralaprcticanoseleccionelasningunadelasopciones.PulseSiguiente.
6.9. AsistenteparaaplicacionesFormulariodeaccesoadatos
EnestapantallayenlassecundariasasociadasaellaleindicaremosalAsistente
quequeremosrealizarennuestraaplicacinunaconexinconunabasededatos.
ParalaprcticapulseelbotnCrearnuevoformulario.
DidcticadeNuevasTecnologasenlaE.S.O.
27
Apareceelasistenteespecficoparaformulariodedatosconlassiguientes
pantallasqueacontinuacinexplicamos:
6.9.1. AsistenteparaformulariodedatosIntroduccin
Enprimerlugarnosvuelveapreguntarporelperfil,vuelvaanoseleccionar
ningunopulsandosobreSiguiente.
6.9.2. AsistenteparaformulariodedatosPantallatipodebasededatos
SeleccionelaopcinAccessypulsesobresiguiente.
6.9.3. AsistenteparaformulariodedatosBasededatos
PulsesobreelbotnExaminaryseleccionelabasededatosendondeestn
latablatablasapartirdelascualesqueremoscrearelformulario.
EnlaprcticaelijalabasededatosGestinPedidosypulseelbotnSiguiente.
Atencin: La base de datos de Access se ha de encontrar en una de las
versiones soportadas por Visual Basic 6.0. En caso de dar error convertir la
base de datos desde Access a una versin anterior a la actual, por ejemplo
Access97.
Para acceder en Access a la opcin convertir la base de datos hacer:
Men principal - Herramientas Utilidades de la base de datos
Convertir base de datos
DidcticadeNuevasTecnologasenlaE.S.O.
28
6.9.4. AsistenteparaformulariodedatosFormulario
PngaleelnombreClientesalformularioyteniendoencuentaqueel
formularioquequierecrearestabasadoenunanicatablaelijadentrode
DiseodelformulariolaopcinMaestro/DetallesycomoTipodeenlaceelija
Clase.
PulseSiguiente.
DidcticadeNuevasTecnologasenlaE.S.O.
29
6.9.5. AsistenteparaformulariodedatosOrigenderegistrosprincipal
Enestecuadrodedilogopasaremoslainformacinalasistentedelnombrede
latablaprincipaldelarelacinMaestro/Detalle,esdecir,latablaMaestro
Clientesennuestrocasoyloscamposdelamismaquequeremosque
aparezcanenelformulario.
EnlaprcticaseleccionecomoorigenderegistrolatablaClientes,como
camposseleccionadospasetodosloscamposdelatablayporltimoelijaque
losregistrosenelformulariosenospresentenordenadosporelcampo
CodCliente.
Finalmenteelcuadrodedilogodebequedar:
PulseSiguiente.
DidcticadeNuevasTecnologasenlaE.S.O.
30
6.9.6. AsistenteformulariodedatosRelacindelorigenderegistros
LarelacinMaestro/Detalleentredostablasvienedefinidaporlosdoscampos
quehayrelacionadosentreambastablas.
Enestapantallaindicaremosdicharelacinparaelloseleccionaremoslos
camposexistentesenambastablasquelasrelacionan.
EnlaprcticaelijaenambastablasCodCliente
PulseSiguiente
6.9.7. AsistenteparaformulariodedatosSeleccindecontroles
Aqupuedeelegirlosbotonesjuntoconsusfuncionalidadesquequiereque
tengaelformulario.
Paralaprcticayteniendoencuentaquequeremosrealizarelmantenimiento
completodelatabladejaremosmarcadastodaslasopcionesdisponiblesy
pulsaremoselbotnSiguiente.
DidcticadeNuevasTecnologasenlaE.S.O.
31
6.9.8. AsistenteparaformulariodedatosFinalizado
PorltimopulseelbotnFinalizar.Aparecerlapantalla:
ElijaNo.
LevolveraaparecerelcuadrodedilogoFormulariosdeaccesoadatos,pero
informandodequeyahacreadoelFormulariodedatosArticulos
PulseelbotnSiguiente.
DidcticadeNuevasTecnologasenlaE.S.O.
32
6.10. AsistenteparaaplicacionesFinalizado
PulseelbotnFinalizar.Selepresentaelsiguientecuadrodedilogo:
Guardelaaplicacin.Desdeelmenprincipalpulselaopcin:ArchivoGuardar
proyecto.
Sehancreado:
Dosformulariosllamados:
o Clientes
o frmMain
UnmdulollamadoModule1
UnmdulodeClasellamadoclsClientes
DidcticadeNuevasTecnologasenlaE.S.O.
33
ElformularioClientescreadopresentarelsiguienteaspecto:
Segnlapantallaarribamostradaelclienteconelcdigo00001habrefectuado2
pedidosdiferentes.
DidcticadeNuevasTecnologasenlaE.S.O.
34
7. ModificarelmendelproyectoGestion_de_pedidos
Enlaprcticaanteriorcreamosunaaplicacinconunmendesdeelquesepoda
teneraccesoaunformularioquepermitaelmantenimientodelatablaArticulos
existenteenlabasededatosGestionPedidos.Vamosamodificarelmendedicha
aplicacinparaquepresentetambinlaopcindeaccesoalformularioClientesque
acabamosdecrear.
ParaelloenprimerlugarabraenVisualBasicelproyectoGestion_de_pedidosdesde
elmenprincipaldeVBpulseArchivoAbrirproyectoyseleccinelo,ledebe
aparecer:
EnlaventanaProyectoGestion_de_pedidosseleccioneelformulariofrmMain.frmo
ensudefectoaquelformularioquecontengaelmendelaaplicacin.
DidcticadeNuevasTecnologasenlaE.S.O.
35
TrasseleccionarlopulseelbotnVerobjetosituadoigualmenteenlaventana
ProyectoGestion_de_pedidos.
AcontinuacinseactivarelbotnEditordemenssituadoelterceroporlaizquierda
enlabarradeherramientasdelentornodedesarrollo.
Botn
Editor de
mens
DidcticadeNuevasTecnologasenlaE.S.O.
36
Plselo.NosapareceelcuadrodedilogoEditordeMens,conelpodremoscrearo
modificarlosmensquenecesitemosparanuestrasaplicaciones.
Nota:Unmenpuedevisualizarrdenesysubmens.Cadaopcindemenpuede
disponerhastauntotaldecuatronivelesdesubmens.
ParalaprcticanosinteresaampliarelsubmenFormulariodedatosenelque
queremosagregarunanuevaopcin.ParaelloseleccioneelsubmenArticulosy
pulseelbotnInsertar.Nosapareceunanuevaopcinrellenelaspropiedadesde
dichaopcindandolossiguientesvalores:
Caption:Clientes
Name:mnuDataClientes
PulseelbotnAceptar.
Casodequererinsertarunalneaqueseparelasdiferentesopcionesdelmense
consigueescribiendoenlapropiedadCaptiondeunanuevaopcinunguin(-)sin
olvidarsededarleunnombre(porejemploLinea1)alapropiedadName.Losnombres
delaslneasdeseparacinhandeserdiferentesenelsistemademensparacada
lneaseparadora.
ObservequeenlaventanadedesarrollosipulsamossobrelaopcinFormulariode
datosexistenteenelmenenelformulariofrmMainquehemoscreado,nosaparecela
nuevaopcinClientesqueacabamosdecrear.Pulsesobreella.
DidcticadeNuevasTecnologasenlaE.S.O.
37
NossaldrlapantalladelcdigodelformularioenelquehacreadoelMendela
aplicacin,presentandoelsiguienteaspecto:
Modifiquemoselcdigoponindolo:
PrivateSubmnuDataClientes_Click()
Clientes.Show
EndSub
ParaquealpulsarsobrelaopcindemenClientessenospresenteelformulario
Clientes.Guardeloscambiosefectuadosenelproyecto.
DidcticadeNuevasTecnologasenlaE.S.O.
38
8. AgregarelformularioClientesalProyectoGestion_de_pedidos
ParaagregarelformularioClientesabraelproyectoGestion_de_pedidos.Enlabarra
deherramientasprincipalpulselaopcinProyectoAgregarformulario.Leaparecela
ventana:
PulsesobrelaopcinExistente,busqueelformularioClientes,seleccineloypulse
abrir.
ObservequeenlaventanaProyectoGestion_de_pedidosapareceelformularioque
acabadeagregar:
PeroelformularioClientesnecesitabaparasufuncionamientoelmduloModule1.bas
yelmdulodeclaseclsClientes.cls.
EnelproyectoGestion_de_pedidosyaexisteelmduloModule1.basyademstiene
elmismocdigoqueelquenecesitaelformularioClientesporloquenoser
DidcticadeNuevasTecnologasenlaE.S.O.
39
necesarioqueloagreguemosalproyecto.Encambioelmdulodeclase
clsClientes.clssilonecesitamosagregarparaqueelformularioClientesfuncioneenel
proyectoGestion_de_pedidos.
ParaagregarelmdulodeclasedesdeelmenprincipaldeVisualBasicpulsela
opcinProyectoAgregarmdulodeclase.
PulsesobrelaopcinExistente,busqueelmdulodeclaseclsClientes.cls,
seleccineloypulseabrir:
DidcticadeNuevasTecnologasenlaE.S.O.
40
ObservequeenlaventanaProyectoGestion_de_pedidosapareceelmdulodeclase
queacabadeagregar:
Guardeloscambiosefectuadosenelproyectodesdelaopcindelmenprincipal:
ArchivoGuardarProyecto.
DidcticadeNuevasTecnologasenlaE.S.O.
41
9. Prctica5.CrearFormulariodeMantenimientodeunatabla
Siqueremosrealizarunaaplicacinqueenunmomentodeterminadodeseejecucin
necesiteaceptarnuevosdatosobienvisualizarlosparapodercontinuar,debemos
crearunnuevoformularioconloscontrolesquepermitanesasoperaciones.Enestos
casos,loformulariosrecibenelnombredecajasdedilogo.Haytresformasdeaadir
cajasdedilogoaunaaplicacin:
Cajasdedilogopersonalizadas:soncajasdedilogohechasamedida,que
seconsiguenagregandocontrolesaunformulario.
Cajasdedilogopredefinidas:sonlascreadaspormediodelasfunciones
InputBoxyMsgBox.
Cajasdedilogocomunes:sonlastpicascajasdedilogodeaplicaciones
paraWindows,porejemplo,lacajadedilogodeAbriroImprimir.
VisualBasictienetodaunaseriedecontrolesparaserutilizadoscomomecanismosde
entrada/salida(E/S).Porejemplo:lascajasdetexto,losbotonesdepulsacin,las
casillasdeverificacin,botonesdeopcin,listasdesplegables,barrasde
desplazamiento,,etc.
Tantolosformularioscomoloscontrolesquepodamoscrearenellostienenasociados
unaseriedeeventospropiosdecadatipodeobjeto.
Cadaeventotienerelacinconunadeterminadaaccinquepuedeocurrirenoconel
formulario(porejemplo:secargaelformulario,sepulsaunbotn,,etc).Peroestos
eventosslodesencadenarnunarespuestasihemosescritocdigoparaellos.
9.1. Objetivos
Losobjetivosdeestprcticason:
LamodificacindelabasededatosGestionPedidos,agregndoleuna
tablallamadaProvinciasquevamosacreardesdeelAdministradorvisual
debasededatosdeVisualBasic.
LacreacindeformulariodemantenimientosdedichatablaProvincias,que
guardarlosnombrereferentesatodaslasprovinciasespaolas.
DidcticadeNuevasTecnologasenlaE.S.O.
42
9.2. ElAdministradorVisualdeBasedeDatosdeVisualBasic
VisualBasicincorporaeladministradorvisualdedatosconelquepodrcreary
establecerlaspropiedadesdelastablasqueconformensusbasesdedatos.
Paraaccederaladministradorvisualdedatosutilicelaopcindemismonombre
situadaenelmenprincipaldentrodelaopcinComplementos.Nossaldrla
siguientepantalla:
Eladministradorpermitecrearunabasededatosnuevaomodificarunaexistente.
Ennuestrocasodentrodelmendeladministradorvisualpulsemossobrela
opcin:
ArchivoAbrirbasededatosMicrosoftAccess
DidcticadeNuevasTecnologasenlaE.S.O.
43
TraselloseleccionelabasededatosGestionPedidos.Nosdebedeaparecerla
siguientepantalla:
Paracrearlanuevatablapulsamoselbotnderechodelratndentrodelaventana
debasededatosyelegimoslaopcinnuevatabla.Nosaparecerelcuadrode
dilogoEstructuradetabla.
DamoselnombredeseadoalatablayconelbotnAgregarcampovamos
agregandoloscamposquequeremosquetengalatabla.
DidcticadeNuevasTecnologasenlaE.S.O.
44
Finalmenteelaspectoquenospresentarelcuadrodedilogoes:
ParafinalizarlacreacindelatablapulsesobreelbotnGenerarlatablaexistente
enelcuadrodedilogoenelquenosencontramos.
ObservemoscomoenelAdministradorvisualdedatosnosaparecelanuevatabla
Provinciasyacreada.
DidcticadeNuevasTecnologasenlaE.S.O.
45
9.3. CrearelFormulariodeMantenimientodelatablaProvincias
9.3.1. Creacindelproyecto
CreemosunnuevoproyectoenVisualBasic,paraelloenelmenprincipal
seleccionemos:
ArchivoNuevoproyecto
9.3.2. Objetosdelformulario
Pordefectoelproyectosenoshacreadoconunformulario.Modifiquemos
dichoformulariohastaquepresenteelsiguienteaspecto:
Objeto tipo
Data
Componente
Data
LosobjetostipoDatasonintermediariosqueconectanloscontrolesque
gestionan,recibenoenvan,losdatosylosdiferenteselementosdelabasede
datosqueseconectenatravsdeella.Paraello:
Laconexinaunadelastablasdelabasededatosseconsigueactivandola
propiedadRecordSource.Antesdehacerlosedebehaberindicadoelvalora
la propiedad DataBaseName. Para la prctica que estamos realizando,
seleccionelatablaProvincias.
PeroelcontrolDatasloconsigueestablecerelenlaceconlabasededatosy
latablaquesehaelegidoparaelformularioenelqueestamostrabajando.
ParaenlazarconloscamposdelosregistrosdelatablaProvincias,deberemos
activardosdelaspropiedadesdeloscomponentescajasdetextoquehemos
insertadoennuestroformularioparatalfin.Estaspropiedadesson:
DataField:debeseleccionarelnombredelcampoalqueseenlazalacajade
texto. Para la prctica introduzca el campo correspondiente en cada una de
lastrescajasdetextoexistentes.
Elresultadoquesehadebidoconseguirdebeserparecidoa:
Observecomosepuededesplazarporlosregistrosexistentesenlatabla
usandoelcontrolData.
DidcticadeNuevasTecnologasenlaE.S.O.
47
9.3.3. Cdigodelformulario
Annosfaltaprogramarelfuncionamientodelosbotonescreados,vamosa
realizarlo.
VamosanecesitarunavariabletipoIntegerasqueenlapartedelcdigofuente
dedicadaalasdeclaracionespondremos:
DimrespuestaAsInteger
Veamosahoracualesseranloscdigosdecadaunodelosbotonesquehemos
creado.
ElcdigofuenteasociadoalbotnNuevo:
PrivateSubcmdNuevo_Click()
OnErrorGoToError
IfText1.Text<>""AndText2.Text<>""Then
Data1.Refresh
Data1.Recordset.AddNew
Data1.Recordset.Update
Else
MsgBox"Debeintroducirelcdigoyelnombredelaprovincia",vbCritical,
"ErrorenAlta"
EndIf
Error:
IfErr.Number<>0Then
MsgBox "Descripcin del Error: " & Err.Description, vbCritical,
"ERROR"
EndIf
ExitSub
EndSub
ElcdigofuenteasociadoalbotnModificar:
PrivateSubcmdModificar_Click()
IfText1.Text<>""AndText2.Text<>""Then
Data1.Recordset.Edit
Else
MsgBox"Debeintroducirelcdigoyelnombredelaprovincia",vbCritical,
"ErrorenAlta"
EndIf
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
48
ElcdigofuenteasociadoalbotnEliminar:
PrivateSubcmdEliminar_Click()
IfData1.Recordset.EOF=FalseThen
respuesta=MsgBox("Deseaborrarestaprovincia?",vbYesNo)
Ifrespuesta=vbYesThen
Data1.Recordset.Delete
Data1.Recordset.MoveFirst
EndIf
EndIf
EndSub
ElcdigofuenteasociadoalbotnSalir:
PrivateSubcmdSalir_Click()
End
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
49
10. Prctica6.CrearFormulariodeConsulta
EnunformulariorealizadoenVisualBasicpodemosrealizarconsultasenSQL
utilizandoparaelloalgunodeloscontrolesquesenosofrecencomoporejemploel
componenteDATA.
PorotroladoenVisualBasicnoslosepuedenpedirdatosalusuariodelaaplicacin
queestamoshaciendomedianteloscontrolesdeunformulariosinoquedisponemos
deunpardecajasdedilogospredefinidas:InputBoxyMsgBox
LafuncinInputBoxvisualizaunacajadedilogoconunmensajequeindicaal
usuarioeltipodeinformacinquedebeintroducir.Undetalleimportanteatener
encuentaesqueInputBoxdevuelveundatodetipoVariant(deVarTypeigual
a8-String).
ElrestodelosparmetrosexistentesenInputBoxsonopcionales.Siqueremos
omitirunargumentoqueprecedeaotroespecificado,hayqueponerlas
correspondientescomasdelimitadoras.LasintaxisdeInputBoxes:
InputBox(mensaje,[ttulo][,por_omisin][,posx][,posy]
LasentenciaMsgBoxvisualizaunmensajeenunacajadedilogo.Susintaxis
es:
MsgBoxmensaje[,botones][,ttulo]
Elvalordelaexpresinbotonesdescribeelnmeroyeltipodebotonesa
visualizar,elestilodelicono,,etcporomisinestevalorescero.
PorotroladoenVisualBasicelCuadrodeHerramientassuelevenirpordefectocon
unaseriedecomponentes,peronosotrospodemosutilizarotrosmuchosennuestros
proyectosquenoestnincluidosentrelosqueaparecenpordefecto.Paralaprctica
vamosausarunodeelloselcomponenteMicrosoftFlexGridControl6.0(SP3).
Vamosarealizarunaprcticaquenospermitaconjugartodosestospuntosnombrados
enlaintroduccin.Paraellovamosacrearunformularioenelquevamosapoder
consultarlasprovinciasdadasdealtaenlaaplicacin,mostrndonoselresultadode
dichaconsultaenunobjetoFlexGrid.
DidcticadeNuevasTecnologasenlaE.S.O.
50
10.1. Creacindelproyecto
10.2. Agregarcomponente
SenospresentarelcuadrodedilogoComponentes,conelsiguienteaspecto:
ObservecomoenelltimolugardesuCuadrodeHerramientasdesuproyectole
apareceunnuevocomponente,elmencionadoFlexGrid.
DidcticadeNuevasTecnologasenlaE.S.O.
51
10.3. Objetosdelformulario
Pordefectoelproyectosenoshacreadoconunformulario.Modifiquemosdicho
formularioinsertandounpardebotones,unobjetoDatayunobjetoFlexGridhasta
quepresenteelsiguienteaspecto:
Objeto
FlexGrid
Objeto
Data
Componente
FlexGrid
Los objetos tipo Data son intermediarios que conectan los controles que gestionan,
reciben o envan, los datos y los diferentes elementos de la base de datos que se
conectenatravsdeella.Paralaprcticaqueestamosdesarrollando:
Laconexinaunadelastablasdelabasededatosseconsigueactivandola
propiedadRecordSource.Antesdehacerlosedebehaberindicadoelvalora
la propiedad DataBaseName. Para la prctica que estamos realizando,
seleccionelatablaProvincias.
PeroelcontrolDatasloconsigueestablecerelenlaceconlabasededatosylatabla
quesehaelegidoparaelformularioenelqueestamostrabajando.Paraenlazarcon
DidcticadeNuevasTecnologasenlaE.S.O.
52
loscamposdelosregistrosdelatablaProvincias,deberemosactivarunadelas
propiedadesdelobjetoFlexGridquehemosinsertadoennuestroformulario,dicha
propiedadesDataSourcealaqueledamoselvalorData1quesenosofrece.
ConestohabremosconectadoelobjetoFlexGriddenuestroformularioconlatabla
ProvinciasdelabasededatosporloqueenprincipioelobjetoFlexGridnosmostrar
todaslasprovinciasexistentesennuestratabla.
10.4. Cdigodelformulario
Vamosaprogramarahoralosbotonesquehemoscreado,paraelloenlapantalla
decdigofuentepongalosiguiente:
Enlaseccindestinadaalasdeclaraciones:
DimstrNombreAsString
ParaelbotndeConsultarelcdigoser:
PrivateSubcmdConsultar_Click()
strNombre=""
strNombre=InputBox("Introduzcaelnombredelaprovincia","Bsqueda
Proyectos")
IfstrNombre<>""Then
strNombre=Trim(UCase(strNombre))
Data1.RecordSource="SELECT*FROMPROVINCIASWHERE
PROVINCIAS.NOMBRElike'*"&strNombre&"*'"
Data1.Refresh
Else
IfMsgBox("Debeintroducirelmotivodebsqueda.Deseacontinuarsus
bsquedas?",20,"AVISO")=vbNoThen
End
EndIf
EndIf
EndSub
ParaelbotnSalirelcdigofuenteser:
PrivateSubcmdSalir_Click()
End
EndSub
DidcticadeNuevasTecnologasenlaE.S.O.
53
10.5. Resultado
Habrdebidoobtenerunformularioconelsiguienteaspecto:
CuandopulsesobreelbotnConsultarleaparecerelsiguientecuadrodedilogo:
Eneldeberintroducirelnombredelaprovinciaqueestbuscandoypulsaraceptar
paraquelabsquedaseejecute.
DidcticadeNuevasTecnologasenlaE.S.O.
54
11. Prctica7.Crearinformededatos
LaedicinempresarialdeVisualBasic6.0permiteaccederdesdesuentornode
desarrolloaunaseriedeutilidadesvisualesdeaccesoadatosparaayudarnosa
conectarnosacualquierbasededatoscompatibleconODBC,disear,ejecutary
guardarconsultasydisearinformesconlosdatosextradosdelabasededatoscon
laquehallamosconectado.
LasutilidadesquenosvanavalerpararealizaruninformeenVBson:
a) Diseadordelentornodedatos:proporcionaunentornointeractivoduranteel
diseoparacrearaplicacionesquedurantelaejecucinaccedanabasesdedatos.
Coneldiseadordelentornodedatospodemosllevaracabovariastareas,lasms
importantesson:
Agregarundiseadordelentornodedatosaunproyectorealizadoen
VisualBasic.
CrearobjetosConnection.
CrearobjetosCommandbasadosenprocedimientosalmacenados,
tablas,vistaseinstruccionesSQL.
CrearjerarquasdeobjetosCommand,oasociarentresaunoovarios
objetosCommand.
ArrastrarycolocarcamposdeunobjetoCommanddeldiseadorde
entornodedatosaldiseadordeinformesdedatos.
b) Diseadordeinformesdedatos:esungeneradordeinformesquepuede
utilizarseconunorigendedatoscomoeldiseadordeentornodedatosparacrear
informescondatosprocedentesdetablasrelacionales.Algunasdesuscaractersticas
son:
Permitecolocarcamposarrastradosdesdeeldiseadordelentornode
datos.
Poseeunconjuntodecontrolespropiosanlogosaloscontrolesde
VisualBasic
Permitemostrarunavistapreliminardelinformeeimprimirloyexportar
elinformeaHTMLytexto.
DidcticadeNuevasTecnologasenlaE.S.O.
55
11.1. Objetivo
Comoejemplovamosacrearuninformeparamostrarlosdatosexistentesenla
tablaArtculos.
RecordemosquelatablaArticulospresentabaelsiguientediseo:
VamosacrearelinformeenelproyectoGestion_de_pedidosqueyahemos
realizado.
Trascrearlomodificaremoselmenexistenteendichoproyectocreandouna
nuevaopcinInformesydentrodeestaladeInformedeartculos,desdelaque
llamaremosalinformequehayamoscreado.
11.2. AgregarDataEnviromentyestablecerconexinconbasede
datos
DesdeelmenprincipaldeVBpulseProyectoAgregarDataEnviroment
JuntoconelDataEnviromentselehacreadounobjetoConnection.Unobjeto
Connectionrepresentaunaconexinaunabasededatos
DidcticadeNuevasTecnologasenlaE.S.O.
56
PulsesobreelobjetoConnectionconelbotnderechodelratnyelijalaopcin
Propiedades.Selemuestralasiguienteventana:
Enestapantallapuedeelegirelproveedordedatosquedeseautilizarpara
conectarsealabasededatos.
EnnuestrocasoseleccionelaopcinMicrosoftJet4.0OLEDBProviderypulse
Siguiente.
DidcticadeNuevasTecnologasenlaE.S.O.
57
Lasiguienteopcinpresentaelsiguienteaspecto:
Ennuestrocasonovamosautilizarcontraseaparaaccederalabasededatosy
elusuarioquevamosausarenlabasededatoseselquevieneenVisualBasic
pordefecto:Admin(nolomodifique).
SeleccionelabasededatosGestion_de_pedidostrasbuscarlaypulseelbotn
Probarconexin,alhacerloledebesalirelmensaje:
AcontinuacinpulseelbotnAceptar.
TrasestospasoshabrcreadolaconexinconlabasededatosdesdeVisual
Basic.SinembargoelobjetoConnectionporsimismonoproporcionaunvnculo
conunatablaespecficatalycomonecesitamos.
VamosaindicarleahoraaVBlatabladelabasededatosquenecesitamospara
nuestroinforme.Paraellopulsenuevamenteconelbotnderechosobreelobjeto
Connection1yelijalaopcinAgregarcomando:
DidcticadeNuevasTecnologasenlaE.S.O.
58
HabrcreadounobjetoCommand,losobjetosCommanddefineninformacinde
detalleespecficaacercadecmodebenrecuperarselosdatosatravsdeuna
conexin.
CadaobjetoCommandrepresentaunobjetodelabasededatos(unatabla,una
consultaSQL,etc.).
PulseconelbotnderechosobreelobjetoCommandqueacabadecrearyelijala
opcinCambiarnombre,pngalecmdArticulos.
DidcticadeNuevasTecnologasenlaE.S.O.
59
VuelvaapulsarconelbotnderechosobreelobjetoCommandahoradenominado
cmdArticulos,yelijalaopcinPropiedades.Ledebeaparecerelsiguientecuadro
dedilogo:
Enestecuadrodedilogoleaparecendosposibilidades:
IndicaraVBquelosdatosvanasersacadosdeunobjetodelabasede
datos
InformaraVBquevaapoderaccederalosdatosnecesariosparael
informemedianteunainstruccinSQL,encuyocasopodremosutilizar
elGeneradorSQLsiloconsideramosnecesarioparacrearnuestra
consultaSQL.
ParalaprcticaqueestamosllevandoacaboelijaObjetodebasededatosy
dentrodeestoseltipoTabla,yseleccionedeentreestaslatablaArticulos.
AcontinuacinpulsesobrelapestaaAvanzadasyelijaeltipodebloqueo:3
Optimistic.
PulseAceptar.
DidcticadeNuevasTecnologasenlaE.S.O.
60
ObservecomoenelobjetoCommand,cmdArticulos,aparecenahoraloscampos
delatablaArticulos.Ennuestrocasoestoscamposeran:
CodArticulo
Descripcion
Comentario
DidcticadeNuevasTecnologasenlaE.S.O.
61
11.3. Creacindelinforme
EstapantallaDataReport1 esunobjeto,comosifueseunnuevoformulario,ycomo
tal tendr sus propiedades, modifique la propiedad Caption ponindole como valor:
Informedeartculos.
PulseconelbotnderechosobrelapantallaanenblancodelinformeDataReport1y
seleccioneObtenerestructuradelmencontextual.RespondaSalapreguntaquese
leformulasobresideseareemplazareldiseoexistente.
ObservequeahoralosdetallescorrespondenalosArtculos.
AsignealaspropiedadesGridXyGridYdelobjetoDataReport1elvalor4.
PorltimoarrastreloscamposexistentesenelobjetoCommand,cmdArticulos,sobre
laseccincmdArticulos_detail(detalle).Ajustelostamaosdeloscampossegnsus
necesidades.
DidcticadeNuevasTecnologasenlaE.S.O.
62
11.4. Visualizarelinforme
Porltimoyparaacabarlaprcticavamosacrearunbotnennuestraaplicacin
quepermitavisualizarelinformequeacabamosdecrearalpulsarlo.
AbraelformularioArticulospulsandodosvecessobreelenlaventanaProyecto.
NosapareceelformularioenelmodoObjeto:
Cuadro de
Herramientas
de VB
Formulario
Articulos en
la ventana
Proyecto
Objeto
Command
Button
AladerechadelaventanadelentornodedesarrollotenemoselCuadrode
herramientasdeVB.
DentrodeestecuadrotenemoselobjetoCommandButton,pulsesobreel,observe
comoalvolversobreelformularioArticuloselcursorhacambiadosuforma,
pasandodelaflechaaunsmboloiguala:+.Estoindicaquesipulsamossobreel
formularioenlaventanadediseopodremoscrearunobjetoigualalpulsado,es
decirunobjetoCommandButton.
Pulsesobrelaventanadediseoenelformularioyarrastreelcursorsindejarde
pulsar,creandodeesamaneraunbotn.
ModifiqueenlaventanadePropiedadeslaspropiedadCaption,ponindoleelvalor
&Imprimirartculos.
DidcticadeNuevasTecnologasenlaE.S.O.
63
Lapantalladebemostrarelsiguienteaspecto:
Programemosahoraelbotnquehemoscreadodeformaquecuandoejecutemos
laaplicacinypulsemossobreel,nosmuestreelinformequeacabamosde
realizar.ParaellohagadobleclicsobreelbotnparapasaralmodoCdigodeVB.
Nota: Para pasar del modo Diseo al modo Cdigo en VB y viceversa disponemos
de dos botones situados en la parte superior de la ventana Proyecto.
EnlaventanadeCdigoesdondeserealizalaescrituradelcdigofuentedelos
mdulosquerespondenaloseventosdecualquieradeloscontrolesque
componenlainterfazquehayamoscreado.
DidcticadeNuevasTecnologasenlaE.S.O.
64
Laventanadecdigoquesenospresentaes:
ElcursorsenospresentaenelpuntoalqueirVisualBasiccuandoest
ejecutandonuestraaplicacinyporlotantoseraqudondetengamosqueponer
lalneadecdigoquevamosaprogramarparaqueaparezcaelinformecreado.
Escribalosiguiente:
PrivateSubCommand1_Click()
DataReport1.Show
EndSub
Guardeloscambiosefectuadosenelformulario.
DidcticadeNuevasTecnologasenlaE.S.O.
65
DidcticadeNuevasTecnologasenlaE.S.O.
66
El autor
Licenciado en Matemticas. Universidad de Sevilla. (2001)
Experiencia docente:
Profesor en la Universidad de Sevilla en el Master de Tecnologas
de Anlisis para la Sociedad de la informacin.
Profesor de Matemticas y Ciencias de la Naturaleza de Educacin
Secundaria Obligatoria en el IES Mariana de Pineda (Dos
Hermanas/Sevilla).
Amplia experiencia impartiendo clases en academias y a
particulares de matemticas a distintos niveles educativos, principalmente a niveles de
secundaria obligatoria, bachillerato y universidad.
Elaboracin de programaciones y unidades didcticas. Conocimiento de la estructura,
objetivos y contenidos del sistema educativo.
Imparticin de cursos sobre aprendizaje de distintas aplicaciones informticas a sus
usuarios finales en la Junta de Andaluca.
Otra Experiencia Profesional:
Septiembre 2001 / Junio 2005: Tareas de anlisis y programacin de aplicaciones en
entorno Oracle 9i para la Junta de Andaluca.
Junio 2005 / Septiembre 2007: Tareas de anlisis y programacin de aplicaciones en
entorno Oracle 9i y Cobol para el Servicio Andaluz de Salud.
Marzo 2001 / Febrero 2004: Tareas de consultara para la aplicacin S.R.P. de la
Consejera de Justicia de la Junta de Andaluca.
Formacin:
Octubre 2004 - Marzo 2005: Curso de Adaptacin Pedaggica (C.A.P.) en el Instituto
de Ciencias de la Educacin de la Universidad Complutense de Madrid.
Mster en Tecnologas de Anlisis para la Sociedad de la Informacin Universidad
de Sevilla (Edicin 2003- 2004)
Ttulo de Experto Universitario en Tecnologas de Anlisis para la Sociedad de la
informacin (Edicin 2001 - 2002).
Curso Superior de Capacitacin en las Nuevas Tecnologas de la Informacin y la
Comunicacin. (Periodo: 01/10/2001-23/01/2002, Duracin: 400 horas) Organizado por
la Consejera de Empleo y Desarrollo Tecnolgico de la Junta de Andaluca).
Correo electrnico: f_flores_gil@hotmail.com