Editar macro para varios Formularios

Sub contador()
    For x = 0 To frmProd.lista.ListCount - 1
    If frmProd.lista.List(x, 0) <> "" Then
        m = m + 1
    End If
    Next
    frmProd.txtExistencia.Value = m
End Sub

La tengo en Modulo. Quiero asignarla por via Call contador a 2 formularios mas del mismo libro y en varios eventos.

1 respuesta

Respuesta
3

Convierte tu procedimiento de la siguiente manera:

Public Sub contador(elForm as form)
    For x = 0 To elForm.lista.ListCount - 1
    If elForm.lista.List(x, 0) <> "" Then
        m = m + 1
    End If
    Next
    elForm.txtExistencia.Value = m
End Sub

Y en la llamada al mismo, en los formularios, escribes:

Call contador(me)

Ojo: los nombres de los controles (lista y txtExistencia) deben ser los mismos en todos los formularios.

A ver si te funciona bien.

Neckkito - Access MVP

Coloco esto en algún modulo?

Después de bregar a ver es isolucionaba, no pude

Prueba esta bd de testeo (hay un mdb y accdb): si te funciona, échale bien un ojo para ver cómo lo he hecho: https://www.mediafire.com/file/l7w4th4o5039kpw/Joaom.zip

Si te funciona en ese ejemplo es que algo no estás haciendo bien en tu BD.

Por otra parte revisa bien las referencias, a ver si tienes alguna que pone "FALTA". Las referencias las puedes encontrar en el menú del VBE Herramientas -> Referencias.

Otra cosa que se me ocurre es que cambies el tipo del argumento, poniendo:

Public Sub contador(elForm As Object)

A ver si así te llega a funcionar...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas