CursoVB05

download CursoVB05

of 15

Transcript of CursoVB05

  • 7/25/2019 CursoVB05

    1/15

    CURSO DE VB

    CAPTULO 51

    ndice de contenidoY LA ESTRELLA INVITADA... DOCMD!.......................................................................................2

    CONVERSACIN ODA AL PASAR............................................................................................2LLAMAR A LOS FORMULARIOS E INFORMES EN CDIGO...............................................2CREANDO UNA MINI-BD PARA IR JUGANDO CON EL CDIGO....................................2DOCMD... PARA ABRIR ALGO................................................................................................3DOCMD... PARA CERRAR ALGO............................................................................................DOCMD PARA SALIR... Y BYE-BYE......................................................................................PROFUNDI"ANDO# DOCMD CON FORMULARIOS...............................................................$

    UN PASEO POR... LOS REGISTROS.......................................................................................$%CMO DESEA EL FORMULARIO& %POCO 'EC'O( AL PUNTO O MUY 'EC'O&......)UTILICEMOS UN FILTRO SENCILLO.................................................................................*+Y COMPLI,UEMOS UN POCO EL FILTRO........................................................................**

    UNA PUNTUALI"ACIN SOBRE LOS FILTROS..........................................................*2

    Y SIGAMOS EPLORANDO MANIPULACIONES............................................................*2UN LTIMO EJEMPLO ALGO M/S COMPLEJO...............................................................*PARA FINALI"AR...................................................................................................................*0

    1 La BD donde estn los ejemplos de este captulo os la podis bajar aqu.

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

    http://db.tt/ZviDNUWghttp://db.tt/ZviDNUWg
  • 7/25/2019 CursoVB05

    2/15

    Y LA ESTRELLA INVITADA... DOCMD!

    CONVERSACIN ODA AL PASAR...

    Cdigo VBA: !ola" #$u eres%Formulario: &n 'ormularioCVBA: Va(a" )o te haba reconocido. *s+ eres un ,orms"F: #,orms"% -ues me parece bien. e usta esadescripci0n.

    CVBA: por cierto+ #c0mo te llamas%F: *h" i nombre es miFormularioCVBA: Bonito nombre... 2e llamar+ pues+ ,orms"mi,ormularioF: e usta ese nombre+ pero si no 3o( equi3ocado 3i3imos en el mismo edi'icioCVBA: #Vi3imos en el mismo edi'icio% 4ntonces somos 3ecinos"F: 5. -or eso creo que ,orms"mi,ormulario es un poco 'ormal+ #no crees%CVBA: 2ienes ra60n: como somos 3ecinos te 3o( a llamar... Me

    LLAMAR A LOS FORMULARIOS E INFORMES EN CDIGO

    #7ecordamos que en un captulo anterior 3imos que e8istan unos m0dulos de objeto% 4s decir+( para este caso en particular+ cuando creamos c0dio asociado a un 'ormulario se creaba unm0dulo asociado a ese 'ormulario. lo mismo podemos decir para los in'ormes.

    La 9con3ersaci0n anterior ;teora pura ( dura+ como habris podido comprobar... je+ je...2FK

    ,orms",Datos.5et,ocus4nd 5ubI

    @reo que con este Eltimo ejemplo ha quedado claro c0mo'unciona 9la cosa+ ( c0mo debemos utili6ar el 4 ;que+ ennuestro ejemplo+ sera equi3alente a ,orms",enu7*@>Q)K' resp O 3b)o 2hen 48it 5ub 4nd >' Do@md.$uit4nd 5ubI

    #,cil+ 3erdad%

    PROFUNDIZANDO: DOCMD CON FORMULARIOS

    Vamos a 3er un poco como podemos manejar un poco ms a 'ondo la apertura de 'ormularioscon Do@md.

    5i nos 'ijamos en nuestro bot0n cmd*bre,Datos oriinal 3eamos que el c0dio asinado era elsiuiente:

    I-ri3ate 5ub cmd*bre,DatosJ@lick;< [email protected],orm K,DatosK4nd 5ubI

    * partir de ese c0dio 3amos a 3er un par de 93ariaciones sobre el tema.

    UN PASEO POR... LOS REGISTROS

    @omo 3emos+ si pulsamos el bot0n+ el c0dio nos abre ,Datos ( nos lle3a al primer reistro. #

    si queremos ir a un reistro nue3o% Vamos a 3er de qu maneras podemos reali6ar lo anterior.o ir creando botones nue3os para cada ejemplo. Vosotros o bien podis crear dichos botonesnue3os ( asinarles el c0dio correspondiente o bien 3ais modi'icando el c0dio en el bot0nque (a tenis creado... 9a usto del consumidor.

    5istema 1: 3amos al nue3o reistro sin emular acci0n de macro

    Vamos a decirle al c0dio que:1.? )os abra el 'ormulario.? )os 3a(a a un nue3o reistro

    -ara eso debemos utili6ar el siuiente c0dio:

    I-ri3ate 5ub cmd*bre,Datos)ue3o7eistro5tma1J@lick;< [email protected],orm K,DatosK [email protected] acData,orm+ K,DatosK+ ac)eH7ec4nd 5ubI

    La primera lnea de c0dio la tenemos controlada. 5in comentarios.La seunda lnea de c0dio nos dice lo siuiente:

    [email protected]*l7eistro ;es un 'ormulario

  • 7/25/2019 CursoVB05

    8/15

    5i nos 'ijamos en los arumentos del mtodo [email protected] 3emos que: -ara indicar qu tipo de objeto es utili6amos la constante de 3b de *ccess acData,orm 4l nombre del 'ormulario lo indicamos entre comillas -ara indicar a qu reistro queremos ir utili6amos la constante de 3b de*ccess ac)eH7ec

    4s mu( importante separar los arumentos concomas. 5i nos ol3idamos una coma le estaremos diciendo

    otra cosa al c0dio ;( no nos 'uncionar+ l0icamenteual que en el caso anterior+ podemos utili6ar las siuientes constantes: ac@md7ecordsSo2o,irst para ir al primer reistro ac@md7ecordsSo2oLast para ir al Eltimo reistro ac@md7ecordsSo2o)e8t para ir al reistro siuiente ac@md7ecordsSo2o-re3ious para ir al reistro anterior

    Vamos a practicar un poco lo que hemos aprendido. o s0lo har el ejemplo aqu para dos

    botones ;aunque en la BD de ejemplo estn todos proramados

  • 7/25/2019 CursoVB05

    9/15

    I-ri3ate 5ub cmd-rimeroJ@lick;< [email protected]@ommand ac@md7ecordsSo2o,irst4nd 5ubI

    para proramar cmd*nterior el c0dio sera:I-ri3ate 5ub cmd*nteriorJ@lick;< [email protected]@ommand ac@md7ecordsSo2o-re3ious4nd 5ubI

    Lo dicho: os dejo para 3osotros la proramaci0n de los dos restantes

    Fjo. *En no hemos entrado en el tema de control de errores. -or ello+ si estamos en elprimero+ por ejemplo+ ( queremos ir al reistro anterior obtendremos un error de c0dio.2ened un poquito de paciencia ( pronto 3eremos c0mo resol3er este 9incon3eniente.

    CMO DESEA EL ORMULARIO POCO "EC"O# AL PUNTO O MUY"EC"O

    5i complicamos la estructura del [email protected],orm 3eremos que se nos permite la adici0n de3arios arumentos:

    [email protected],orm 9nombre,orm+ Ctipo de 3ista+ C'iltro+ Ccondici0n+ Cmodo de datos+ Cmodode 3entana+ Copen*rs

    Vamos a 9meternos con el tipo de 3ista del 'ormulario. @omo (a sabemos ;o deberamossaber< un 'ormulario admite 3arias 3istas+ que son las siuientes:

    TIPO DE VISTA CONSTANTE DE VB DE ACCESS

    Vista diseAo acDesin

    Vista hoja de datos ac,ormD5

    Vista de r'ico dinmico ac,orm-i3ot@hart

    Vista de tabla dinmica ac,orm-i3ot2able

    Vista presentaci0n acLa(out

    Vista 'ormulario ac)ormal

    Vista preliminar ac-re3ieH

    -ues con todo lo anterior (a podemos decirle al c0dio qu tipo de 3ista deseamos cuandoabramos el 'ormulario.

    4n ,enu 3amos a crear un bot0n de comando ;que (o he llamado cmd*bre,Datos!ojaDatosL27F 4D*DK+ Y< ZDetectamos si se pulsa cancelar >' 5tr-tr;34dad< O Y 2hen 48it 5ub

    Z*plicamos el 'iltro+ abriendo ,Datos en modo !oja deDatos [email protected],orm K,DatosK+ ac,ormD5+ + KC4dad[OK X34dad4nd 5ubI

    #)os acordamos el >nputBo8% @on este c0dio el 3alor que introduce el usuario quedauardado en la 3ariable 34dad+ ( aplicamos la condici0n en la lnea que abre el 'ormulario atra3s de KC4dad[OK X 34dad

    *unque sea e3idente+ podramos haber puesto el operador l0ico que hubiramos\querido

    ;ma(or que+ ma(or o iual que+ menor que+ iual a...nputBo8;K>ntrodu6ca la edad in'eriorK+ K4D*D >),47>F7K< 34dad5up O >nputBo8;K>ntrodu6ca la edad superiorK+ K4D*D 5&-47>F7K< mi,iltro O KC4dad]OK X 34dad>n' X K *)D C4dad[OK X 34dad5up

    [email protected],orm K,DatosK+ ac,ormD5+ + mi,iltro4nd 5ubI

    @omo podemos obser3ar+ hemos: De'inido el 'iltro a tra3s de una 3ariable de tipo 5trin. mi,iltro es en realidad una cadena de te8to+ s0lo que los 3alores in'erior ( superior3ienen dados por las edades que introdu6ca el usuario. Fjo con los espacios+ pues tambin cuentan. @omo 3eis+ ha( un espacio antes de *)D.5uponamos que las edades sean 1 ( . 5i no hubiramos puesto ese espacio la cadena dete8to sera: C4dad]O1*)D C4dad[O. el c0dio hubiera entendido que el 3alor in'erior es

    91*)D+ adems de encontrarse con una e8presi0n que 9no entiende porque no se dara

    cuenta de que ha( dos condiciones ;'alta el *)D que las une

  • 7/25/2019 CursoVB05

    12/15

    4n la condici0n basta que ponamos el nombre del 'iltro que hemos creado+ que en estecaso es mi,iltro.

    UNA PUNTUALIZACIN SOBRE LOS FILTROS

    @omo habis 3isto+ si trabajamos con nEmeros+ el 'iltro es+diamos+ 9directo.

    5in embaro+ seEn el tipo de dato deberemos adaptar el'iltro al tipo de dato.

    #$u sini'ica eso%

    5ini'ica que:

    TIPO DE DATO FILTRO

    )umrico 9Directo

    Booleano 9Directo

    5trin 4ntre comillas simples ;Z