Ejecutar un comando de un formulario desde otro.

Estoy trabajando en un botón en un formulario que copia la información de una tabla y la pega en un subformulario de otro formulario distinto a donde se encuentra el botón.: Es decir

(Este es el comando que quiero ejecutar, como se dan cuenta esta en Form_fmItemOffer)

Y lo quiero ejecutar desde acá:

Como pueden ver se encuentra en otro formulario distinto.

Ojala puedan ayudarme.

Respuesta
1

Tengo entendido que para que puedas usarlo debes de cambiar primero tus instrucciones a public sub y tu las tienes como private sub.
Ahora, si quieres que el proceso cargue sin problemas debes de cambiar el proceso a algún modulo.
Por ejemplo:
En módulo uno escribes

Public sub hola ()
msgbox "hola"
End Sub

Cuando quieras llamar esa función solo debes llamarla desde el form así:

Private sub Command1_click()
hola
End Sub

Así desde cualquier form que quieras llamar la instrucción "hola" lo podrás hacer.

2 respuestas más de otros expertos

Respuesta
1

En el formulario 1 en vez de tener las instrucciones dentro de un command button te posicionas al final del código y colocas tus instrucciones así

Private Sub CommandButton2_Click()
corre_programa
End Sub
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Sub corre_programa()
MsgBox ("esto es una prueba")
End Sub

luego en el formulario dos colocas este codigo en tu commandbutton, esto independientemente si esta abierto el formulario esta abierto o no ejecutara el codigo del formulario 1

Private Sub CommandButton1_Click()
UserForm1.corre_programa
End Sub
Respuesta
1

Carlos, me vas a perdonar pero creo que te complicas demasiado. Mira si tengo la tabla Productos

Tengo como tu dices un formulario Ventas con un subformulario Detalleventa. También le he añadido un botón que me abrirá ese formulario que dices

Observa que el campo Producto del subformulario está vacío. Si pulso el botón Abrir formulario

Si en este formulario pulso el botón

Es decir, le paso los datos a la tabla origen del subformulario. El código del botón es

Private Sub Comando2_Click()
DoCmd.RunSQL "insert into detalleventa(producto) select Producto from productos"
If CurrentProject.AllForms("ventas").IsLoaded Then
DoCmd.RunSQL "update detalleventa set idventa=forms!ventas!idventa where idventa is null"
Forms!Ventas.Refresh
End If
End Sub

Realmente a tí te afectaría la primera línea, ya que no sé que quieres hacer una vez que haya pasado los datos, lo demás es para que en este caso en particular puedas ver los resultados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas