Temas activadosTemas activados  Lista de Usuarios del ForoLista de Usuarios  CalendarioCalendario  Búsqueda en el ForoBúsqueda  AyudaAyuda
  RegistrarRegistrar  ConectarConectar
Página anterior             ** NORMAS DEL FORO **            Página siguiente
Curso de Access y VBA
 Foro de Access y VBA :Relacionado con Access :Curso de Access y VBA
Icono de mensaje Tema: Entrega 12(Tema Cerrado Tema Cerrado) Enviar mensaje Enviar mensaje
Autor Mensaje
buho
Administrador
Administrador


Agregado: 10/Abril/2004
Lugar: España
Estado: Online
Mensajes: 10207
bullet Tema: Entrega 12
    Enviado: 16/Febrero/2005 a las 09:28

Me ha costado un poco más, pero ya tenéis a vuestra disposición la entrega 12 del curso.
Esta entrega es un poco más extensa que las anteriores (22 páginas)

Tal y como os adelanté, en esta entrega se abordan los siguientes temas:

· Declaración de variables como Static, a nivel de procedimiento
· Paso de parámetros Por Valor y Por Referencia, ByVal y ByRef
· Declaración de parámetros como opcionales mediante Optional
· Resolución de problemas mediante Procedimientos Recursivos e Iterativos.
· Paso de parámetros con un número indeterminado de elementos mediante  ParamArray.
· Paso de parámetros Con Nombre mediante el operador de asignación :=
· Constantes Enumeradas Enum ... End Enum
· Procedimientos para intercambiar información con el usuario MsgBox e  InputBox

La entrega la podéis descargar desde
http://www.olaz.net/descargas/access/curso_vba/VBA_Entrega12.zip

[Descarga disponible desde este servidor del Foro AQUI

Saludos desde la calle Estafeta de Pamplona:

 Eduardo Olaz
 Microsoft [MVP] Access

 eduardoALGARROBAolaz.net
       ALGARROBA = @

IP IP conectada
buho
Administrador
Administrador


Agregado: 10/Abril/2004
Lugar: España
Estado: Online
Mensajes: 10207
bullet Enviado: 17/Febrero/2005 a las 02:01

Hola Eduardo...he leido (En realidad he echado un vistazo rapido a este entrega...a ver si me lo leo con calma) y me han surgido algunas dudas.
La primera, no es una duda, sí quizá una matizacion sobre Enum. Creo que se debería poner en el escrito que este tipo de estructura no está disponible en VBA de Access 97.

Sobre la declaración Static. Apenas lo he utilizado de ahi que me hayan surgido algunas dudas. No son preguntas, mas que nada aclaraciones que yo mismo me he tenido que resolver ahora sobre la marcha por que tenia mis dudas.
(A) Tengo un Módulo de clase «Clase1» con un procedimiento Static HolaMundo y dentro de este procedimiento tengo declara una variable Dim N As Long
Si por necesidades yo instancio en un mismo programa (En un formulario, por ejemplo) varias veces el módulo de clase ...por cada nueva instancia del módulo de clase...¿Se crea un espacio independiente para las variables declaradas dentro de ese procedimiento, en este caso N?¿Se mezclan los valores de «N» al ser instanciada la clase dos veces siultaneamente?

Ya he visto que efectivamente por cada instancia abierta del modulo de clase, se crean espacios independientes de almacenamiento de la variable «N».
Es que como dudaba...mejor probar. ;-)
=============================
El ejemplo que acabo de hacer es crear un modulo de clase llamado Clase1 con
este simple codigo:
Option Explicit

     Static Sub HOLAMUNDO()
        Dim N As Long
        N = N + 1
        MsgBox N
     End Sub

Luego en un formulario normal he puesto este código:

   Dim contador As Long
   Dim Miclase1 As Clase1
   Dim Miclase2 As Clase1
   Set Miclase1 = New Clase1
   Set Miclase2 = New Clase1
   For contador = 1 To 3
     Miclase1.HOLAMUNDO
     Miclase2.HOLAMUNDO
   Next

En efecto...he observado que la variable N es «independiente» entre ambas clases (No se mezcla), pero sin ambargo, como bien decías, ya en en cada instancia concreta a la clase, el valor se va incrementado por el hecho de haber declarado el procedimiento «HolaMundo» como Static.
Ya te digo, que tenia mis dudas...y mejor probar que quedarme con la duda. Y me he permitido la licencia de escribirlo aqui....por si a alguien tambien le surgía dicha duda.

Otra cosilla...

(B) Declaracion dentro de un módulo estandar, de un procedimiento Static. Dentro de este procedimiento Static declaro Dim Mivariable
Entiendo que en este caso Mivariable, una vez que por primera entre en ese procedimiento, la variable ya no se destruirá hasta que cierre la aplicacion...¿Corecto? (Es que en este caso, entro en el modulo, corro el procedimiento, pero en contra de lo que pasaba con el modulo de clase, yo el modulo standar no puedo destruile (Por emplear alguna palabra)

En fin..una vez gracias por hacernos trabajar y aclarar conceptos... :-))



Editado por buho
Foro Offline GRATIS:BAJAR.
Página WEB:Mi Página Web de Access

Saludos desde Valladolid :)
IP IP conectada
Foro de Access y VBA :Relacionado con Access :Curso de Access y VBA
Enviar mensaje
Versión para imprimir Versión para imprimir

Seleccione Foro
no puedes enviar nuevos Temas al Foro
no puedes responder a los Temas de este Foro
no puedes borrar los mensajes en este Foro
no puedes editar los mensajes de este Foro
no puedes crear encuesta en este Foro
no puedes votar en encuesta en este Foro

NORMAS DEL FORO