CursoVB03

download CursoVB03

of 18

Transcript of CursoVB03

  • 7/25/2019 CursoVB03

    1/18

    CURSO DE VB

    CAPTULO 31

    ndice de contenidoMDULOS DE OBJETO, CONTROLES Y EVENTOS....................................................................2

    MDULOS DE OBJETO...............................................................................................................2EVENTOS.......................................................................................................................................2CONTROLES..................................................................................................................................5MIX DE LOS ANTERIORES CONCEPTOS.............................................................................5

    LA FUNCIN MSGBOX....................................................................................................................7LANZAR UN MENSAJE...............................................................................................................7SALTOS DE LNEA EN MENSAJE..............................................................................................!LANZAR MENSAJE Y ESPERAR RESPUESTA DE UN USUARIO........................................."

    LA FUNCIN INPUTBOX...............................................................................................................##DETECTAR LA PULSACIN DEL BOTN $CANCELAR%...................................................#&OTROS CONTROLES PARA 'UE NO NOS FALLE EL INPUTBOX..................................#(

    DETECTAR VALORES VACOS............................................................................................#(

    DETECTAR VALORES DE DIFERENTE TIPO....................................................................#(NORMALIZACIN..........................................................................................................................#)NOMBRES DE OBJETOS............................................................................................................#)NOMBRES DE CONTROLES.....................................................................................................#7NOMBRES DE VARIABLES.......................................................................................................#7*Y POR 'U+ LOS PREFIJOS....................................................................................................#7M-S INFORMACIN SOBRE NORMALIZACIN.................................................................#!

    1 Los ejemplos propuestos en este captulo estn en una BD que os podis bajar aqu

    1Vistame en http://siliconproject.com.ar/neckkito/

    http://db.tt/8r543o2shttp://db.tt/8r543o2s
  • 7/25/2019 CursoVB03

    2/18

    MDULOS DE OBJETO, CONTROLES Y EVENTOS

    MDULOS DE OBJETO

    ui! lo l"#ico en un curso de VB$ sera empe!ar a e%plicar&lle#ados a este punto& lo que se denominan 'bloques dedecisi"n(. )in embar#o& nos *amos a separar de lo

    'ortodo%o( para entrar en unas e%plicaciones que nosproporcionaran una base 'e%perimental( para posteriorescontenidos. De hecho& si este curso est en+ocado a $ccess&es entendible& creo ,o& que lo ha#amos as.

    -omo apuntamos en el captulo en el que hablbamos de tipos de m"dulos& *amos a tratarahora esos m"dulos que se hallan asociados a un objeto de $ccess& en concreto m"dulosasociados a +ormularios e in+ormes.

    ara poder ir entendiendo lo que se *a a e%plicar *amos a ir '*indolo( al mismo tiempo que loleemos. Lo que *amos a hacer es crear una base de datos. na *e! creada *amos a crear0*al#a la redundancia un objeto +ormulario. 2s decir& creamos un nue*o +ormulario en blanco.3uardamos ese +ormulario con el nombre de 451.

    na *e! creado lo situamos en *ista dise6o.

    )i ahora abrimos el editor de VB 0a tra*s de la combinaci"n de teclas $L78411 podremoscomprobar que no e%iste nin#9n m"dulo de objeto. ; c"mo< orque si nos +ijamos en la*entana pro,ecto s"lo podremos *er ah el nombre de nuestra BD& pero nin#9n otro elemento.Vol*amos a situarnos +rente a 451 en *ista dise6o.

    $ntes de se#uir necesitamos e%plicar al#una 'cosita( ms...

    EVENTOS

    -ojamos al#o com9n que todo el mundo cono!ca 0o al menos le suene& como podra ser elmando de una =ii... 3enerali!ando podemos decir que si pulsamos uno de los botonescon+irmamos la opci"n que tenemos en pantalla> si mo*emos el mando a la i!quierda seproduce un mo*imiento hacia la i!quierda& , lo mismo para la derecha. )i a#itamos el mandode arriba a abajo pues obtenemos otro resultado...

    )i lo 'trans+ormamos( en lo que nos interesa podemos hablar de 'e*entos(& que en caso de latele podramos decir que...

    2*ento al pulsar el bot"n

    2*ento al mo*er el mando a la derecha

    2*ento al mo*er el mando a la i!quierda 2*ento al a#itar el mando

    ;& a cada uno de estos e*entos& le corresponde la ejecuci"n de una acci"n.

    $similado lo anterior& nuestro +ormulario 451 es nuestro mando& que posee una serie dee*entos a los cuales les podemos asi#nar una acci"n& que *endra pro#ramada por nuestroc"di#o VB$.

    ; cules son esos e*entos otros& sin embar#o& no lo son tanto. ?o os

    @Vistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    3/18

    preocupis porque ,a los iremos *iendo con calma a tra*s de este curso.

    odemos decir que la ma,ora de e*entos son comunestanto a los objetos como a los controles& aunque cada uno&l"#icamente& tendr sus propias 'peculiaridades(.

    )i estamos en estos momentos *iendo los e*entos del+ormulario 451 *amos a #enerar una acci"n asociada a une*ento. Lo que de aqu en adelante llamar '#eneramos elsi#uiente c"di#o( inclu,e un proceso que e%plicar acontinuaci"n& pero que ,a no repetir para sucesi*ase%plicaciones 0por eso es importante que lo aprendisahora& aunque es mu, sencillo. ara ello:

    ?os situamos en el e*ento '$l abrir( 0o& cuando pro#ramemos un e*ento& en cualquierade ellos que nos sir*a para nuestros prop"sitos.

    )i hacemos click en el espacio en blanco que ha, a la derecha del nombre del e*ento

    *eremos que nos aparece un peque6o bot"n de puntos suspensi*os. Aacemos click sobre ese peque6o bot"n

    ?os aparecer una *entana que nos solicitar tres opciones:

    3enerar macros: si pulsamos aqu podremos crear una macro asociada a esee*ento.

    3enerador de e%presiones: si pulsamos aqu se nos abrir la *entana del#enerador de e%presiones& , ah podremos especi+icar la e%presi"n 0nunca mejor dichoque queramos que se ejecute al suceder el e*ento.

    3enerador de c"di#o: este es el que nos interesa si queremos utili!ar c"di#oVB$.

    )eleccionamos pues el #enerador de c"di#o , se nos abrir... nuestro ami#o el VB2C

    Vamos a anali!ar qu ha pasado al abrirse el editor de VB:

    1. )e nos ha creado un m"dulo de objeto& en nuestro caso relacionado con 451. )i echamosun *ista!o a la *entana de pro,ecto podremos *er que ah aparece nuestro 'objeto( 451

    @. )e nos han creado dos lneas por de+ecto: ri*ate )ub... , 2nd )ub. ;a deberamos saberque ri*ate nos est indicando que el procedimientos *a a tener carcter un mbito deactuaci"n pri*ado& es decir& 'restrin#ido( dentro del propio proceso& , que no ser accesibledesde otros procedimientos/+unciones/m"dulos.

    E. $dems& nos ha identi+icado el e*ento que hemos seleccionado& que en nuestro caso es '$labrir( 4ormFGpen

    H. $utomticamente nos est indicando que este e*ento tiene la posibilidad de utili!aci"n deun ar#umento por de+ecto& que es '-ancel(.

    I. ?os marca d"nde est el +inal del procedimiento& a tra*s del '2nd )ub(

    ?uestro espacio de trabajo para c"di#o ser& pues& entre estas dos lneas.

    Vamos a pro#ramar un simple c"di#o& que ser el si#uiente:

    EVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    4/18

    J

    ri*ate )ub 4ormFGpen0-ancel $s Knte#er

    s#Bo% MAola& mundoCM

    2nd )ub

    J

    Lo que estamos haciendo es simplemente decirle al+ormulario que cuando se abra nos lance un mensaje.

    )i ahora cerramos 0#uardando los cambios nuestro 451 , loabrimos en *ista +ormulario *eremos los 'e+ectos( de nuestrapro#ramaci"n.

    Vamos a ir un poco ms all. -on nuestro 451 en *ista dise6o *amos a a mostrar elencabe!ado , el pie del +ormulario. $hora& en teora& deberamos tener tres secciones:

    2ncabe!ado

    Detalle

    ieTruco: por si no lo sabamos podemos seleccionar lo que es el +ormulario en marcando elpeque6o cuadrado que ha, en la esquina superior i!quierda del mismo. )i despus marcamosotro elemento& , tenemos la *entana de propiedades abierta& esta ir cambiando laspropiedades en +unci"n del elemento que ten#amos seleccionado.

    La idea que os quiero transmitir es que el +ormulario tiene unos e*entos asociados& pero lasecci"n encabe!ado& la secci"n detalle , la secci"n pie tambin tienen sus propios e*entos.

    HVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    5/18

    CONTROLES

    Vamos a crear una tabla& que #uardaremos con el nombrede 7rueba& con dos campos:

    NKdO $utonumrico , cla*e principal

    NDatoO 7e%to

    $hora creamos un +ormulario basado en esa tabla& que#uardaremos como 4rueba. Lo abrimos en *ista dise6o.

    Veremos que& l"#icamente& tenemos ah los dos campos de la tabla. $ esos elementos se lesdenomina 'controles(.

    )i ahora a6adimos un cuadro de te%to al +ormulario tendremos un control ms> si a6adimosuna etiqueta& un bot"n de comando& un cuadro combinado ,& en de+initi*a& cualquier elementode la cinta de opciones del #rupo 'controles( 0lo mismo para $ccess @55E& aunque nohablemos de cinta de opciones& estaremos a6adiendo un 'control( al +ormulario.

    $hora ,a sabemos que cuando hablemos de un 'control de +ormulario( nos estamos re+iriendoa todo este conjunto de elementos que acabamos de mencionar.

    )i& por ejemplo& seleccionamos el campo Dato 0no su etiqueta& sino el campo en s , sacamossus propiedades ,a sabemos que podremos encontrar una pesta6a llamada 2*entos& que nosmuestra todos los e*entos disponibles sobre los que podemos operar , que hacen re+erencia aese control en concreto.

    MIX DE LOS ANTERIORES CONCEPTOS

    Vamos a *er c"mo se re+leja una me!cla de los anteriores conceptos en nuestro editor de VB.Gperaremos sobre 4rueba.

    $s pues& con 4rueba en *ista dise6o& sacamos las propiedades del +ormulario , nos *amos ale*ento '$l acti*ar re#istro(.

    2ste e*ento se produce cada *e! que nos aparece un re#istro en pantalla> es decir& se'acti*ar( al abrir el +ormulario 0porque nos aparece el primer re#istro o un re#istro nue*o&dependiendo c"mo ten#amos con+i#urado el +ormulario , tambin se acti*ar cada *e! quecambiemos de re#istro& ,a sea porque nos desplacemos por los re#istros o porque *a,amos aa6adir uno nue*o.

    $ este e*ento le #eneramos el si#uiente c"di#o:

    J

    ri*ate )ub 4ormF-urrent0

    K+ Ks?ull0e.Dato.Value 7hen

    s#Bo% M2l campo PdatoQ est *acoM

    2lse

    s#Bo% M2l campo PdatoQ est llenoM

    2nd K+

    2nd )ub

    J

    IVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    6/18

    $hora sacamos las propiedades del campo NDatoO , pro#ramaremos el e*ento llamado '$lrecibir el en+oque(. Le #eneramos el si#uiente c"di#o:

    J

    ri*ate )ub DatoF3ot4ocus0

    K+ Ks?ull0e.Dato.Value 7hen

    e.Dato.Value R M2sto, *acioCM 2nd K+

    2nd )ub

    J

    u hemos aprendido con estos dos simples c"di#os

    Vamos a operar a tra*s de un ejemplo. -on nuestro+ormulario 451 en *ista dise6o a6adimos un bot"n decomando& al que llamaremos cmd)i?o& , le #eneraremos elsi#uiente c"di#o:

    J

    ri*ate )ub cmd)i?oF-lick0

    Dim resp $s Knte#er

    resp R s#Bo%0Mulsa s o no: el que quierasM& *buestion 8 *b;es?o& M27K-K]?M

    K+ resp R *b;es 7hen [o tambin K+ resp R T 7hen

    s#Bo% MAas pulsado )Y. $ que s

  • 7/25/2019 CursoVB03

    11/18

    Aa, otra serie de botones que operan& di#amos& sobre el 'comportamiento de la *entana ens(. 2stos no los *eremos 0pero os dir d"nde encontrarlos& un poco ms abajo.

    2l c"di#o anterior& si se hubiera pro#ramado sin lautili!aci"n de *ariables& quedara de la si#uiente manera:

    J

    ri*ate )ub cmd)i?oF-lick0

    K+ s#Bo%0Mulsa s o no: el que quierasM& *buestion 8*b;es?o 8 *bDe+aultButton@& M27K-K]?M R *b;es 7hen

    s#Bo% MAas pulsado )Y. $ que s

  • 7/25/2019 CursoVB03

    12/18

    La +unci"n KnputBo% nos permite solicitar in+ormaci"n al usuario para que este la introdu!ca enun cuadro de dilo#o& in+ormaci"n que no estar tan limitada como en el caso de s#Bo%.

    La sinta%is de esta +unci"n es la si#uiente:

    n!utBox "[Texto #n$ormat#vo], [Ttulo de la ventanade mensaje], [Valor de res!uesta !or de$ecto]%

    Aa, ms ar#umentos que se pueden utili!ar& pero no lose%plicaremos aqu porque& realmente& ,o no los he *isto utili!ardemasiado. )i estis interesados en pro+undi!ar la a,uda delpropio $ccess os dir lo que necesitis sobre ellos.

    Vamos a plantear unj ejercicio sobre esta +unci"n. Kma#inemos que queremos pedir el nombrede usuario al usuario 0nunca mejor dicho. tili!aremos pues un KnputBo%. ara ello:

    -on 451 en *ista dise6o a6adimos un bot"n de comando& al que llamaremos

    cmdKnputBo%& , le #eneraremos el si#uiente c"di#o en el e*ento '$l hacer click(:J

    ri*ate )ub cmdKnputBo%F-lick0

    Dim mi?ombre $s )trin#

    mi?ombre R KnputBo%0MKntrodu!ca su nombreM& M?GBS2M& M^^^M

    s#Bo% M)u nombre es M X mi?ombre

    2nd )ub

    J

    4ijaos que:

    -omo pedimos la introducci"n de una cadena de te%to hemos de+inido una *ariable0mi?ombre como )trin#

    2l *alor de esa *ariable nos la proporciona la +unci"n KnputBo%

    or si no lo habis intuido& no es necesario utili!ar todos los ar#umentos del KnputBo%.)i hubiramos escrito: PKnputBo% 0'?ombre(Q hubiera bastado.

    Vamos a reali!ar otro ejercicio prctico& pero en este caso reali!aremos unos clculos con losdatos que nos proporcione el usuario.

    $6adimos otro bot"n de comando en 451 , le ponemos de nombre cmdKnputBo%?um. Le

    #eneramos el si#uiente c"di#o en el e*ento '$l hacer click(:J

    ri*ate )ub cmdKnputBo%?umF-lick0

    Dim *alor1 $s Knte#er& *alor@ $s Knte#er

    *alor1 R KnputBo%0MKntrodu!ca el primer n9meroM& M_1M& 5

    *alor@ R KnputBo%0MKntrodu!ca el se#undo n9meroM& M_@M& 5

    s#Bo% MLa suma de M X *alor1 X M , M X *alor@ X M es M X *alor1 8 *alor@

    2nd )ub

    J

    1@Vistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    13/18

    -omo podemos *er en este ejemplo:

    Aemos de+inido las *ariables como Knte#er porque esperamos n9meros

    Aemos practicado c"mo concatenar el mensaje de s#Bo%

    Aemos *isto que podemos reali!ar clculosdirectamente sobre el mensaje de*uelto por s#Bo%.

    2*identemente hubiramos podido crear una tercera*ariable que nos reco#iera el resultado , pasrsela als#bo%& con lo que el c"di#o hubiera quedado as:

    J

    ri*ate )ub cmdKnputBo%?umF-lick0

    Dim *alor1 $s Knte#er& *alor@ $s Knte#er& result $s Knte#er

    *alor1 R KnputBo%0MKntrodu!ca el primer n9meroM& M_1M& 5

    *alor@ R KnputBo%0MKntrodu!ca el se#undo n9meroM& M_@M& 5

    result R *alor1 8 *alor@ s#Bo% MLa suma de M X *alor1 X M , M X *alor@ X M es M X result

    2nd )ub

    J

    DETECTAR LA PULSACIN DEL BOTN

    )i hemos se#uido los ejemplos hemos *isto como el KnputBo% nos muestra dos botones:aceptar , cancelar. ; si hemos intentado cancelar hemos *isto que nos salta un error de

    c"di#o.

    Vamos a *er c"mo pro#ramar el KnputBo% de manera que si el usuario cancela la acci"npodamos salir del procedimiento. ara ello necesitamos utili!ar la +unci"n )trtr.

    -uando el usuario pulsa P-ancelarQ la +unci"n )trtr de*uel*e el *alor 5 0cero. 2so nospermite la detecci"n de un *alor para poder tomar una decisi"n.

    )i la *ariable que reco#e la respuesta del KnputBo% es mi?ombre& la sinta%is sera tan simplecomo )trtr0mi?ombre.

    Vamos a modi+icar el primer c"di#o que nos solicitaba el nombre de usuario para a6adir esecontrol de pulsaci"n de cancelar. $6adimos un nue*o bot"n de comando en 451 , lo#uardamos como cmdKnputBo%-ancelar. 2l nue*o c"di#o del e*ento '$l hacer click( deberaquedarnos as:

    J

    ri*ate )ub cmdKnputBo%-ancelarF-lick0

    Dim mi?ombre $s )trin#

    mi?ombre R KnputBo%0MKntrodu!ca su nombreM& M?GBS2M& M^^^M

    K+ )trtr0mi?ombre R 5 7hen 2%it )ub

    s#Bo% M)u nombre es M X mi?ombre

    2nd )ub

    1EVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    14/18

    J

    ; eso es todo. ?o ha, ms secreto.

    OTROS CONTROLES PARA QUE NO NOS

    FALLE EL INPUTBOX

    -omo los usuarios son 'e%tremadamente *ariables( puedesucedernos que les solicitemos un nombre , no escriban nada0dejen el *alor en blanco& o que introdu!can un *alor numrico& ocualquier otra 'sal*ajada( que no podamos pre*er. Vamos a *erc"mo 'cubrirnos( de estas 'manipulaciones( de nuestro KnputBo%.

    &'T'CT(R V(L)R'* V(C+)*

    ara detectar *alores *acos o cadenas de te%to *acas podemos utili!ar un bloque K4. 2l c"di#opara ello sera:

    )i Pel *alor es nuloQ G Pes una cadena *acaQ entonces J

    or ejemplo& , si#uiendo con el ejemplo anterior 0,o he pro#ramado un nue*o bot"n decomando en 451& podramos escribir el c"di#o como si#ue:

    J

    ri*ate )ub cmdKnputBo%VaciosF-lick0

    Dim mi?ombre $s )trin#

    mi?ombre R KnputBo%0MKntrodu!ca su nombreM& M?GBS2M& M^^^M

    K+ )trtr0mi?ombre R 5 7hen 2%it )ub

    K+ Ks?ull0mi?ombre Gr mi?ombre R MM 7hen 2%it )ub

    s#Bo% M)u nombre es M X mi?ombre

    2nd )ub

    J

    -omo *emos *ol*emos a encontrarnos que para saber si un *alor es nulo debemos utili!arPKs?ull0*ariableQ. ; para *er si est *aco simplemente lo indicamos con dos comillas doblesse#uidas 0'(

    7ambin podemos *er que para unir condiciones hemos utili!ado GS

    2n este ejemplo& si se produce la condici"n& se sale del proceso& pero podramos haber hechoque saltara un mensaje al usuario indicndole que el *alor introducido no es correcto 0si loqueris probar& os lo dejo como 'deberes( >

    &'T'CT(R V(L)R'* &' &F'R'T' T-)

    1HVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    15/18

    ara 'pillar( que el usuario est introduciendo un *alor numrico en lu#ar de una cadena dete%to podemos utili!ar la +unci"n Ks?umeric. $ partir del *alor de*uelto por esta +unci"n07rue/4alse podremos tomar una decisi"n& como siempre& a tra*s de nuestro ami#o K4.

    Veamos un ejemplo 0que ,o he pro#ramado en otro bot"nde comando:

    J

    ri*ate )ub cmdKnputBo%Ks?umericF-lick0

    Dim mi?ombre $s )trin#

    mi?ombre R KnputBo%0MKntrodu!ca su nombreM& M?GBS2M&M^^^M

    K+ )trtr0mi?ombre R 5 7hen 2%it )ub

    K+ Ks?ull0mi?ombre Gr mi?ombre R MM 7hen 2%it )ub

    K+ Ks?umeric0mi?ombre 7hen 2%it )ub

    s#Bo% M)u nombre es M X mi?ombre

    2nd )ubJ

    -omo podemos comprobar la sinta%is es PKs?umeric0*ariableQ. )i ahora el usuario introduceun n9mero nuestro c"di#o se dar cuenta , saldr del proceso.

    ; qu pasa si lo que queremos es precisamente que el dato sea numrico< ues mu, +cil:ne#amos que sea numrico. e& je... me encantan estas +rases 'ambi#uas(...

    Lo que quiero decir es que si situamos un ?G7 delante de Ks?umeric podemos conse#uir ele+ecto deseado. on#amos un ejemplo:

    -reamos un nue*o bot"n de comando en 451& al que llamaremos cmdKnputBo%2dad. 2n ele*ento '$l hacer click( le #eneramos el si#uiente c"di#o:

    J

    ri*ate )ub cmdKnputBo%2dadF-lick0

    Dim mi2dad $s Variant

    mi2dad R KnputBo%0MKntrodu!ca su edadM& M$`K7G)M

    K+ ?ot Ks?umeric0mi2dad 7hen

    s#Bo% M2l *alor introducido no es *lidoM& *b-ritical& M$LM

    2%it )ub 2lse

    s#Bo% MVa,a... qu [jo*en[ eresCM& *b2%clamation& M-$S$B$CCCCCCCM

    2nd K+

    2nd )ub

    J

    n par de comentarios sobre el c"di#o:

    ?o nos ha quedado ms remedio que de+inir la *ariable mi2dad como Variant. )i lahubiramos de+inido como Knte#er& , el usuario hubiera introducido letras& se hubiera

    1IVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    16/18

    producido un con+licto de tipos , nuestro c"di#o nos hubiera dado un error 0os animo aprobarlo para *er 'lo listo que es $ccess(.

    Las decisiones de acci"n se han tomado dentro delbloque K4. 2sto lo *eremos con ms detalle en el pr"%imocaptulo.

    ui! al#uien pueda pensar: por qu aqu declaramos la*ariable como Variant& , en el ejemplo anterior la hemosdeclarado como )trin# , no pasaba nada< Gs recuerdo que:

    )i se ha de+inido la *ariable como Knte#er , escribimos unaletra& una letra nunca puede ser un n9mero. $qu no ha, equ*oco.

    )i se ha de+inido la *ariable como )trin# , escribimos un n9mero& s podemos entenderque& en primera instancia& ese n9mero no es tal& sino que queremos que sea un carcter. 2sdecir:

    1@E es un n9mero& pero

    '1@E( son tres caracteres

    2s por ello por lo que& en principio& nuestro c"di#o no detecta nada an"malo , por ello no nossalta error de c"di#o.

    NORMALI!ACIN

    ; como punto +inal a este captulo *amos a hablar de normali!aci"n de nombres& para despejarun poco nuestro cerebro.

    ?o e%iste una norma '+ija( para la nomenclatura de los elementos& tanto de $ccess. or lotanto os *o, a comentar lo que ,o utili!o , lo que he *isto que utili!an otras personas. )"lo

    dar unas pinceladas porque la idea se *a a co#er mu, rpido. ) *o, a dar un par de ideaspara aquellos que quieran pro+undi!ar en el tema.

    NOMBRES DE OBJETOS

    $ los objetos de $ccess 0tablas& +ormularios& etc. ,o ten#o por costumbre a6adir la inicial delnombre #enrico del objeto. or ejemplo& si es una tabla a6ado una '7( al nombre de la tabla>si es un +ormulario a6ado una '4(& in+orme una 'S( 0por Report& una '-( para consulta& unamacro '(... La 9nica e%cepci"n la ha#o en los sub+ormularios& para lo que empleo 'sub4rm(& ,para los m"dulos& en los cuales si#o la nomenclatura que os e%plico en el si#uiente prra+o.

    Lo que otras personas hacen es utili!ar tres letras identi+icati*as del objeto. $s& tendramos: tbl ara tablas

    +rm ara +ormularios

    qr, ara consultas 0de quer#

    mcr ara macros

    rpt ara in+ormes

    mdl ara m"dulos estndar

    cls ara m"dulos de clase

    1TVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    17/18

    NOMBRES DE CONTROLES

    ara los controles utili!o ms o menos el sistema que 'elresto de mortales( suele utili!ar. 2s decir:

    t%t ara cuadros de te%to

    lbl ara etiqueta 0de label cbo ara un cuadro combinado

    cmd ara un bot"n de comando 0de co!!and

    lst ara un cuadro de lista

    im# ara un cuadro de ima#en

    opc ara un bot"n de opci"n

    mrc ara un marco de opciones

    chk ara una casilla de *eri+icaci"n 0de c$ec%

    tab ara control de +icha

    NOMBRES DE VARIABLES

    Debo reconocer que ,o no utili!o este sistema ms que en ocasiones puntuales& en las cualespueden darse ambi#edades. )in embar#o os comento los pre+ijos ms comunes para las*ariables& que son:

    str ara un )trin#

    int ara un Knte#er

    ln# ara un Lon#

    bln ara un Boolean

    dtm ara un Date

    Y POR QU LOS PREFIJOS

    La idea de poner pre+ijos a los elementos de $ccess , VB$ es simplemente para +acilitar elreconocimiento de los mismos. 2*identemente un pre+ijo aporta una in+ormaci"ncomplementaria e%tremadamente 9til para una lectura rpida de c"di#o& o para unreconocimiento inmediato del elemento de que estamos hablando.

    or ejemplo& , a9n sin saberlo& si *emos esto:

    ri*ate )ub lst?ombresF-lick0

    J

    inta% R Dlookup0'N2dadO(& '7$lumnos(

    J

    2nd )ub

    1WVistame en http://siliconproject.com.ar/neckkito/

  • 7/25/2019 CursoVB03

    18/18

    -on todo lo anterior ,a sabemos que:

    2stamos en el e*ento '$l hacer click( de un cuadro de lista

    ue la *ariable inta% es de tipo Knte#er

    ue se busca en la tabla '7$lumnos(& , no en laconsulta '-$lumnos(& por ejemplo

    Gtra utilidad de nombrar& en este caso& los controles& es quepara re*isiones de c"di#o nos ahorramos una #ran cantidadde tiempo. 2s decir& supon#amos que estamos en el VB2&en un m"dulo de objeto +ormulario& repasando el c"di#o& ,*emos lo si#uiente:

    J

    ri*ate )ub -omando5F-lick0

    [ -"di#o

    2nd )ub

    ri*ate )ub -omando1F-lick0

    [ -"di#o

    2nd )ub

    ri*ate )ub -uadroF-ombinadoEHF$+terpdate0

    [ -"di#o

    2nd )ub

    J

    Kma#inaos eso& pero con E5 controles en el +ormulario. Vamos a arre#lar el bot"n que nos

    imprime un in+orme... u '-omando^( es< 7endramos que poner el +ormulario en *istadise6o , mirar su nombre para despus *ol*er a VB2 , encontrar el n9mero de bot"n decomando que es& lo cual 0os lo ase#uro es mu, en#orroso , molesto.

    L"#icamente& si ,o busco: ri*ate )ub cmdKmprimeKn+ormeF-lick0 la detecci"n ser mu,rpida.

    M!S INFORMACIN SOBRE NORMALIZACIN

    2l sistema que tiene una utili!aci"n ma,oritaria es el que se denomina 'sistema Les!,nski(. Gsdejo un par de enlaces por si queris pro+undi!ar sobre este tema:

    http://accessdemo.eb.o++iceli*e.com/idiomas/esp/articulos/les!,nski.htm

    http://en.ikipedia.or#/iki/Les!,nskiFnamin#Fcon*ention

    1ZVistame en http://siliconproject.com.ar/neckkito/

    http://accessdemo.web.officelive.com/idiomas/esp/articulos/leszynski.htmhttp://en.wikipedia.org/wiki/Leszynski_naming_conventionhttp://en.wikipedia.org/wiki/Leszynski_naming_conventionhttp://accessdemo.web.officelive.com/idiomas/esp/articulos/leszynski.htm