You are on page 1of 66

DidcticadeNuevasTecnologasenla

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.

Podremos acceder al asistente al intentar crear un nuevo proyecto, desde el men


principal hacemos: Archivo Nuevo proyecto, nos aparece el siguiente cuadro de
dilogo:

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.

NombredelCampo Tiposdedatos Descripcin


CodCliente Texto CdigodelCliente
Nombre Texto NombredelCliente
DNI Texto DNIdelcliente
Telefono Nmero Telfonodelcliente
Comentario Memo Comentariossobreel
cliente

NombredelCampo Tiposdedatos Descripcin


CodPedido Texto Cdigodepedido
CodArticulo Texto Cdigodeartculo
CodCliente Texto Cdigodecliente
NumArticulo Nmero Nmerodeartculosdel
pedido
PrecioTotal Nmero Preciototaldelpedido
FechaPedido Fecha/Hora Fechaderealizacindel
pedido
FechaPago Fecha/Hora Fechadelpagodelpedido

AbraelAsistenteparaaplicacionesdeVisualBasic.

6.2. AsistenteparaaplicacionesIntroduccin

Pulsarelbotnsiguienteyaqueennuestrocasonotenemosningnperfildesdeel
quecargarlaconfiguracin
DidcticadeNuevasTecnologasenlaE.S.O.
25

6.3. AsistenteparaaplicacionesTipodeInterfaz

Elija la opcin: Interfaz de un nico documento (SDI) y ponga el nombre:


Gestion_de_clientesalaaplicacin(nodejeespaciosenblancoenelnombre)y
pulseSiguiente.

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:

Si est en una base de datos de Microsoft Access, no es preciso activar la


propiedad Connect, si es de otro gestor de bases de datos se deber
especificarestegestorcomovalordelapropiedadantesdenada.

El control Data deber activar su propiedad DataBaseName con la ruta y el


nombre de la base de datos a la que se quiera conectar. En nuestro caso
seleccionelabasedatos:GestiondePedidos.
DidcticadeNuevasTecnologasenlaE.S.O.
46

Laconexinaunadelastablasdelabasededatosseconsigueactivandola
propiedadRecordSource.Antesdehacerlosedebehaberindicadoelvalora
la propiedad DataBaseName. Para la prctica que estamos realizando,
seleccionelatablaProvincias.

PeroelcontrolDatasloconsigueestablecerelenlaceconlabasededatosy
latablaquesehaelegidoparaelformularioenelqueestamostrabajando.
ParaenlazarconloscamposdelosregistrosdelatablaProvincias,deberemos
activardosdelaspropiedadesdeloscomponentescajasdetextoquehemos
insertadoennuestroformularioparatalfin.Estaspropiedadesson:

DataSource: donde indicar el nombre del control Data. En nuestra prctica


ser Data1, si es que no lo ha modificado en cada una de las tres cajas de
textoquehemoscreado enel formularioconelfindeque muestre losdatos
existentesenlatablaProvincias.

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

Creemos un nuevo proyecto en Visual Basic, para ello en el men principal


seleccionemos:

ArchivoNuevoproyecto

10.2. Agregarcomponente

Como ya hemos dicho necesitamos un nuevo componente, el FlexGrid. Para poder


usarlohemosdeagregarloalCuadrodeHerramientasdenuestroproyecto.Paraello
vaya al men principal de VB y seleccione la opcin Proyecto y dentro de esta
Componentes.

SenospresentarelcuadrodedilogoComponentes,conelsiguienteaspecto:

Busque y seleccione el Microsoft FlexGrid Control 6.0 (SP3), pulsando


posteriormentesobreaplicar.

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:

El control Data deber activar su propiedad DataBaseName con la ruta y el


nombre de la base de datos a la que se quiera conectar. En nuestro caso
seleccionelabasedatos:GestiondePedidos.

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:

NombredelCampo Tiposdedatos Descripcin


CodArticulo Texto Cdigodelartculo
Descripcin Texto Descripcindelartculo
Comentario Demo Comentariosobreel
artculo

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

Vaya al men principal de VB y elija la opcin Proyecto Agregar Data Report, le


apareceunanuevapantallallamadaDataReport1enlaquepodrdisearsuinforme:

EstapantallaDataReport1 esunobjeto,comosifueseunnuevoformulario,ycomo
tal tendr sus propiedades, modifique la propiedad Caption ponindole como valor:
Informedeartculos.

A continuacin asigne a su propiedad DataSource el valor DataEnviroment1 y a su


propiedadDataMemberelvalorcmdArticulos.

PulseconelbotnderechosobrelapantallaanenblancodelinformeDataReport1y
seleccioneObtenerestructuradelmencontextual.RespondaSalapreguntaquese
leformulasobresideseareemplazareldiseoexistente.

ObservequeahoralosdetallescorrespondenalosArtculos.

AsignealaspropiedadesGridXyGridYdelobjetoDataReport1elvalor4.

PorltimoarrastreloscamposexistentesenelobjetoCommand,cmdArticulos,sobre
laseccincmdArticulos_detail(detalle).Ajustelostamaosdeloscampossegnsus
necesidades.

Por ltimo pulse el botn Guardar de la barra principal de herramientas y guarde el


DataEnviromentyelDataReport.

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:

Ver Cdigo Ver Objeto


Objeto tipo
Command
Button
creado
Ventana
Propiedades
del objeto
activo

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.

Nota: La ventana cdigo presenta en su parte superior dos listas desplegables. La


de la izquierda permite desplegar toda la lista de los objetos que componen el
formulario activo. La de la derecha visualiza los sucesos posibles del objeto elegido
en la ventana de la izquierda para los que se puede escribir cdigo.

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

You might also like