No Mostrar Userform Si-No Ah Ejecutado Un CommandButton De Un Formulario

Con todos necesito ayuda es sobre un formulario.

Tengo un formulario lo que quiero implementar es lo siguiente al momento que relleno todos los campos y le al botón agregar me aparezca el userform17.

Pero al momento que no rellene todos los campos no me visualice el userform17.

Respuesta
2

Veo en la imagen que tienes un código para el botón AGREGAR, donde se ejecuta una macro para el agregado y luego la llamada al Userform.

Aquí habría que considerar 2 situaciones: Si debe guardarse o no el registro cuando haya campos vacíos.

Aparentemente según tus comentarios, puedes guardar el registro aunque haya campos vacíos pero no quieres que se muestre el 2do formulario. Si esto es correcto, antes de la llamada al UF debes agregar el código que te pasó el experto Julián. Aquí con la sintaxis para Excel.

Private Sub Agregar_Click()
   Call Módulo3.Agregar        'se guarda sin control de contenidos
   'aquí el control de campos
    For Each Control In Me.Controls
        If TypeName(Control) = "TextBox" And Control = "" Then
            MsgBox "Tienes controles sin completar", vbOKOnly + vbInformation, "Que lo sepas"
            Exit Sub
        End If
    Next
    'llama al 2do UF
    Userform17.Show
End Sub

Y si NO debiera guardarse el registro con campos vacíos, estas instrucciones de control las colocarás al inicio de la macro del Módulo3. Y en ese caso ya no lo llamarás desde la macro del botón Agregar.

Sub Agregar()
'aquí el control de campos
 For Each Control In Me.Controls
     If TypeName(Control) = "TextBox" And Control = "" Then
         MsgBox "Tienes controles sin completar", vbOKOnly + vbInformation, "Que lo sepas"
         Exit Sub
     End If
 Next
 'instrucciones de guardado
'llamada al 2do UF
Userform17.Show
End Sub

2 respuestas más de otros expertos

Respuesta
2

Sería más fácil si pones tu código y te ayudo a adaptarlo.

Pero revisa el siguiente ejemplo y lo adaptas a tu userform.

Private Sub CommandButton1_Click()
  'valida campos
  If TextBox1.Value = "" Then
    MsgBox "Es necesario llenar los campos..."
    Exit Sub
  End If
  If TextBox2.Value = "" Then
    MsgBox "Es necesario llenar los campos..."
    Exit Sub
  End If
  '
  UserForm17.Show
End Sub
Respuesta
1

Por si te puede dar una idea. Si tengo el formulario, donde un cuadro de texto está en blanco

Cuando pulso el botón

Acepto y el cursor "se queda" en el formulario mientras haya un cuadro de texto vacío.

Por el contrario, si todos están llenos

Al pulsarlo

En este caso, el código del botón es

Private Sub Comando6_Click()
For Each Control In Form.Controls
If Control.ControlType = acTextBox And IsNull([Control]) Then
MsgBox "Tienes controles sin completar", vbOKOnly + vbInformation, "Que lo sepas"
Exit Sub
End If
Next
DoCmd.OpenForm "clientes"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas