PDF de programación - CursoVB - Capítulo 5

Imágen de pdf CursoVB - Capítulo 5

CursoVB - Capítulo 5gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 22 de Enero del 2018)
644 visualizaciones desde el 22 de Enero del 2018
277,0 KB
15 paginas
Creado hace 11a (24/09/2012)
CURSO DE VB

CAPÍTULO 51

Índice de contenido
¡Y LA ESTRELLA INVITADA... DOCMD!.......................................................................................2
CONVERSACIÓN OÍDA AL PASAR............................................................................................2
LLAMAR A LOS FORMULARIOS E INFORMES EN CÓDIGO...............................................2
CREANDO UNA MINI-BD PARA IR “JUGANDO” CON EL CÓDIGO....................................2
DOCMD... PARA ABRIR “ALGO”................................................................................................3
DOCMD... PARA CERRAR “ALGO”............................................................................................4
DOCMD PARA “SALIR”... Y BYE-BYE......................................................................................6
PROFUNDIZANDO: DOCMD CON FORMULARIOS...............................................................7
UN PASEO POR... LOS REGISTROS.......................................................................................7
¿CÓMO DESEA EL FORMULARIO? ¿POCO HECHO, AL PUNTO O MUY HECHO?......9
UTILICEMOS UN FILTRO SENCILLO.................................................................................10
Y COMPLIQUEMOS UN POCO EL FILTRO........................................................................11
UNA PUNTUALIZACIÓN SOBRE LOS FILTROS..........................................................12
Y SIGAMOS EXPLORANDO MANIPULACIONES............................................................12
UN ÚLTIMO EJEMPLO ALGO MÁS COMPLEJO...............................................................14
PARA FINALIZAR...................................................................................................................15

1

La BD donde están los ejemplos de este capítulo os la podéis bajar aquí.

Visítame en http://siliconproject.com.ar/neckkito/

1

¡Y LA ESTRELLA INVITADA... DOCMD!

CONVERSACIÓN OÍDA AL PASAR...

Código VBA: ¡Hola! ¿Qué eres?
Formulario: Un formulario
CVBA: ¡Vaya! No te había reconocido. Así, eres un Forms!
F: ¿Forms!? Pues me parece bien. Me gusta esa
descripción.

CVBA: Y por cierto, ¿cómo te llamas?
F: ¡Ah! Mi nombre es miFormulario
CVBA: Bonito nombre... Te llamaré, pues, Forms!miFormulario
F: Me gusta ese nombre, pero si no voy equivocado vivimos en el mismo edificio
CVBA: ¿Vivimos en el mismo edificio? ¡Entonces somos vecinos!
F: Sí. Por eso creo que Forms!miFormulario es un poco formal, ¿no crees?
CVBA: Tienes razón: como somos vecinos te voy a llamar... Me

LLAMAR A LOS FORMULARIOS E INFORMES EN CÓDIGO

¿Recordamos que en un capítulo anterior vimos que existían unos módulos de objeto? Es decir,
y para este caso en particular, cuando creamos código asociado a un formulario se creaba un
módulo asociado a ese formulario. Y lo mismo podemos decir para los informes.

La “conversación” anterior (teoría pura y dura, como habréis podido comprobar... je, je...)
refleja el hecho de cómo debemos llamar, desde el código, a los formularios. Y eso depende de
dónde esté el código.

Si el código se halla en el módulo asociado al formulario (son vecinos, siguiendo el símil)
podemos referirnos al formulario llamándolo simplemente ME. Si queremos hacer referencia a
otro formulario distinto debemos llamarle por su “nombre completo”; es decir, Forms!
nombreFormulario.

De la misma manera operamos con los informes: si el código está en el módulo asociado al
informe podemos llamarle ME; si, por el contrario, lo queremos llamar desde otro módulo (ya
sea de objeto o estándar) debemos referirnos a él por su nombre “largo”: Reports!
NombreInforme.

Evidentemente podemos sustituir el ME por el nombre largo, pero eso equivale a tener que
escribir mucho... y no podemos cansarnos tanto, ¿verdad? ;)

Es importante tener esto en cuenta porque a partir de ahora vamos a aplicar “al pie de la letra”
lo explicado en las líneas anteriores. Así que nadie se debe despistar y tener bien claro que ME
indica que se llama al objeto del módulo asociado al propio objeto.

CREANDO UNA MINI-BD PARA IR “JUGANDO” CON EL CÓDIGO

Vamos a crear una mini-BD muy simple para ver las “bondades” del método DoCmd para
manipular objetos. Así pues, vamos a crear una BD y vamos a:


Añadir una tabla, a la que llamaremos TDatos, con los siguientes campos:

Visítame en http://siliconproject.com.ar/neckkito/

2







[Id]
[Nombre]
[Edad]


Autonumérico (clave principal)

Texto


Número (entero, con cero decimales)

Metamos, a mano, algunos pocos registros en la tabla, a
nuestro gusto.

Creamos un formulario, al que ponemos de nombre


FDatos, basado en nuestra tabla TDatos.

Creamos un formulario en blanco, al que llamaremos


FMenu

Creamos una consulta de selección sobre TDatos (como queramos) y la llamamos


CDatos.



Creamos un informe sobre la tabla TDatos y lo llamamos RDatos.

Ya tenemos los principales objetos de Access creados. Ya podemos empezar a “destripar” el
DoCmd

DOCMD... PARA ABRIR “ALGO”

La sintaxis básica para abrir un objeto a través de código es la siguiente:

DoCmd.OpenXXX “nombreObjeto”

Donde XXX va a ser:




Form
Query
Report

Y, más allá de este ejemplo, podemos abrir:








Table
DataAccessPage
Diagram
Function
Module
StoredProcedure
View

Vamos a practicar un poco con nuestra BD. Nos situamos en el formulario FMenu, en vista
diseño, e introducimos cuatro botones de comando, y los llamamos así:





cmdAbreFDatos
cmdAbreTDatos
cmdAbreCDatos
cmdAbreRDatos

Cogemos el primer botón (cmdAbreFDatos) y en el evento “Al hacer click” generamos el
siguiente código:


Private Sub cmdAbreFDatos_Click()
DoCmd.OpenForm "FDatos"

Visítame en http://siliconproject.com.ar/neckkito/

3

End Sub


Como vemos si hacemos click sobre él (en vista formulario)
se nos abre el formulario en cuestión. ¿Fácil, no?

Como habréis supuesto, el código de cmdAbreTDatos sería:


Private Sub cmdAbreTDatos_Click()
DoCmd.OpenTable "TDatos"
End Sub


El código de cmdAbreCDatos es:


Private Sub cmdAbreCDatos_Click()
DoCmd.OpenQuery "CDatos"
End Sub


Y, finalmente, el código para cmdAbreRDatos es:


Private Sub cmdAbreRDatos_Click()
DoCmd.OpenReport "RDatos"
End Sub


¡Ojo! Este simple código nos abre el informe enviándolo directamente a la impresora. Más
adelante veremos cómo podemos “manipular” la apertura de informes.

DOCMD... PARA CERRAR “ALGO”

Ya sabemos cómo abrir elementos de Access... Vamos a ver cómo cerrarlos.

La sintaxis es:

DoCmd.Close acXXX, “NombreObjeto”

Vamos a añadir tres botones de comando en nuestro formulario FMenu y los vamos a llamar:





cmdCierraFDatos
cmdCierraTDatos
cmdCierraCDatos

El código que vamos a aplicar al primero va a ser el siguiente:


Private Sub cmdCierraFDatos_Click()
DoCmd.Close acForm, "FDatos"
End Sub


Si ahora realizamos el siguiente proceso veremos lo bien que nos funciona: abrimos, a través

Visítame en http://siliconproject.com.ar/neckkito/

4

de nuestro botón de comando, el formulario FDatos
FMenu

Cerramos FDatos con nuestro botón.





Seleccionamos nuestro formulario



Os propongo que programéis los otros dos botones antes de
mirar el código que os indico a continuación. Creo que os va
a resultar muy fácil.

Para cerrar la tabla:

Private Sub cmdCierraTDatos_Click()
DoCmd.Close acTable, "TDatos"
End Sub


Para cerrar la consulta:


Private Sub cmdCierraCDatos_Click()
DoCmd.Close acQuery, "CDatos"
End Sub


Esto podría ser algo incómodo, ¿verdad? Me refiero a tener que ir a seleccionar el formulario
FMenu una vez abierto FDatos para poder cerrarlo con nuestro botón.

Vamos a ver cómo podemos situar el enfoque en el formulario que queramos. La idea es abrir
FDatos pero mantenerlo en segundo plano. Para ello utilizaremos el método SETFOCUS.

Si cogemos el código que teníamos asignado a cmdAbreFDatos podemos realizar una pequeña
modificación, de manera que el código nos quede así:


Private Sub cmdAbreFDatos_Click()
DoCmd.OpenForm "FDatos"
Me.SetFocus
End Sub


Como vemos, debemos preguntarnos: ¿en qué módulo de objeto estamos? Pues estamos en el
módulo asociado a FMenu. Por ello, para decir: “sitúame el enfoque en FMenu” podemos
emplear la palabra reservada ME. Y nos basta con utilizar un punto separador para indicar que:
NombreFormuario.Acción
Y de ahí que escribamos: Me.SetFocus

Si ahora probamos nuestro botón veremos que sí se nos abre FDatos, pero quedándonos en
segundo plano.

Vamos un poquito más allá. Ahora queremos operar sobre FDatos. De nuevo nos preguntamos:
¿en qué módulo de objeto estamos? Como nos hallamos en el módulo asociado a FMenu no
podemos utilizar ME para referirnos a FDatos, por lo que no nos quedará más remedio que
referirnos a él por su nombre largo.

Y si modificamos el anterior código de la siguiente manera veremos cómo se hace lo anterior:


Private Sub cmdAbreFDatos_Click()

Visítame en http://siliconproject.com.ar/neckkito/

5

DoCmd.OpenForm "FDatos"
Me.SetFocus
MsgBox "Ahora el foco pasará a FDatos", vbInformation, "SALTITO"

Forms!FDatos.SetFocus
End Sub


Creo que con este último ejemplo ha quedado claro cómo
funciona “la cosa”, y cómo debemos utilizar el ME (que, en
nuestro ejemplo, sería equivalente a Forms!FMenu).

¿Y si queremos cerrar el formulario desde el propio formulario? Vamos a abrir FDatos en vista
diseño y vamos a añadirle en el encabezado un botón de comando, al que llamaremos
cmdCerrar. A ese botón le generamos el siguiente código:


Private Sub cmdCerrar_Click()
DoCmd.Close acForm, Me.Name
End Sub


Como podemos ver, hemos utilizado la estructura que ya conocíamos, pero hemos añadido el
Me.Name para indicar que cierre el formulario de nombre X, donde X es el n
  • Links de descarga
http://lwp-l.com/pdf8432

Comentarios de: CursoVB - Capítulo 5 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad