Llamar funciones desde un módulo

En primer lugar disculpas por anticipado, no soy programador, tengo una ligera idea y tengo un encargo un poco extraño así que no sabré formular bien mi pregunta.

Ahí va:

Me gustaría saber como puedo crear una función que se llame desde un evento, por ejemplo, al boton1_click que me llame a una función que haga una consulta sql y devuelva algo. Recuerdo que en php declaraba las funciones poniendo su nombre y luego las llamaba simplemente escribiendo el nombre().

Más concretamente me gustaría tener una función de este plan:

  plazas = DLookup("[plazas]", "[cursos]", "id= lista_cursos.value")
  totalocu = DCount("[participante]", "[curs_alumno]", "accion = 1 And curso = lista_cursos.value")
        If (totalocu >= plazas) Then
 

Me encuentro que tengo que poner ese mismo código en cada uno de los procedimientos y me gustaría tenerlo en una función para simplemente llamarla y si me dice que el número de plazas ocupadas es igual o mayor que el número de plazas disponibles devolviera un true o cualquier otra cosa manejable con un if...

Me parece que estoy escribiendo muchísimo más código del necesario y seguramente hay una manera mejor de hacerlo.

Mis conocimientos tanto de access como de vba son bastante limitados y tengo que hacer malabarismos cuando seguramente podría encontrar una manera más "ortodoxa" (je je) de hacerlo.

Espero que podáis indicar por donde tirar, como declarar funciones y llamarlas y como puedo utilizar los valores que devuelva.

1 respuesta

Respuesta
1

Vas a la pestaña módulos y creas uno nuevo, aquí escribirías la función, por ejemplo:

Function Allamar()
Aquí escribirías tú código

End Function

Guardas el módulo y la función Allamar la puedes utilizar en cualquier procedimiento de evento, por ejemplo en un botón Comando0. La llamarías de la forma:

Private Sub Comando0_Click()
Allamar
End Sub

si hago la función allamar() con un isnull esta me devolverá true o false?

function allamar()

isnull(dcount(blas bla))

end function

Podría funcionar algo así:

if allamar() = True then....

Lo que haces al llamar a la función es ejecutar la función, no el resultado, este sería:

function allamar()
If isnull(dcount(blas bla))= true then

.... lo que sea

else

.... lo que sea

End if
end function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas