Necesito crear un UserForm con información del cliente y deseo que al cerrar este formulario, se abra

Soy aficionado y quiero crear una base de datos. Quiero crear un Userform con información del cliente, datos personales, tele, etc y que al registrar esta información se abra automáticamente otro userform con información de pago, si alguien puede echar una mano muy agradecido.

1 Respuesta

Respuesta

H0la Pedro:

Das muy pocos antecedentes, así que podemor ir avanzando de a poco.

  1. ¿Tienes creados los UserForm? Recuerda que hay una diferencia entre crearlos y darle funcionalidad, por lo que una buena tarea sería crear los dos UserForm de los que hablas. Esto involucra escorger los tipos de objetos que utilizarás en tus formularios y que serán los más idóneos para trabajar con los datos que deseas manejar.
  2. ¿Tienes creadas las estructuras de las tablas en que guardaras la información? Ya que estamos en Excel, te sugiero una hoja para los clientes y una para los pagos.
  3. Tienes que definir la forma en que ingresarás los clientes y los pagos ¿Los UserForm son sólo para ingreso de información o también para lectura? Según tu descripción, es algo confuso.

Una vez que tengas estos puntos definidos, podemos comenzar a estructurar la funcionalidad.

S@lu2

Gracias Isac por tu tiempo y preocupación.

Hice 2  UserForm y tengo para cada uno su hoja de datos ( información personal y la información de pago) quiero que cuando complete el primero, me lleve directo al segundo. pensé en algún código, para pegar en el botón guardar del primero, no he logrado hacerlo, gracias nuevamente.

Pedro 

H0la Pedro:

Su subes un print del formulario y de las tablas, sería genial.

Además ¿cómo estás vinculando la información de ambas tablas?

Salu2

Para avanzar un poco, supongamos que tu formulario de clientes se llama frmClientes y el formulario de pagos frmPagos. Si tu intención es que frmPagos se abra cuando frmClientes se cierre, entonces puedes usar este código en frmClientes

Private Sub UserForm_Terminate()
    frmPagos.Show
End Sub

Ahora lo complicaremos un poco.
Supongamos que en frmPagos requieres el id del cliente que está en frmClientes. Si este ID lo tienes en un cuadro de texto llamado txtIdCliente y no deseas que tu frmPagos se abra si este campo está vacío, entonces podrías usar este código en frmClientes

Private Sub UserForm_Terminate()
    If txtIdCliente.Text <> "" Then
        frmPagos.Show
    End If
End Sub

Finalmente, supongamos que en tu formulario frmPagos tienes declarada una variable que te cuya misión es contener el id del cliente (idCliente), para poder iniciarlizar esta variable y poder ocuparla en el formulario de pagos, en la sección de código de tu frmPagos tendrías que ocupar lo siguiente

Private Sub UserForm_Initialize()
    idCliente = frmCliente.txtIdCliente.Text
End Sub

De esta forma, el idCliente obtiene el valor del cuadro de texto txtIdCliente de frmCliente antes que éste se termine de cerrar.

Teniendo el id del cliente, entonces puedes trabajar con todos los pagos relacionados a ese cliente (todo esto, suponiendo que estás relacionando tu tabla clientes con tu tabla de pagos a través del un identificador perteneciente al cliente)
S@lu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas