Noticias:

Ya hay algunas cosas colgadas en la web así que ya vuelve a estar disponible.

Menú Principal

Creación de formulario por código (v2)

Iniciado por xavi, Abril 20, 2012, 08:19:49 PM

Tema anterior - Siguiente tema

xavi

Palabras clave: creación, formulario, código
Autor: Autores
Extraído de: La web del Búho


Objetivo

El siguiente procedimiento crea un formulario y dos cuadros de texto. Al segundo de ellos le crea un código sencillo en el evento Enter y Exit (he creado un código sencillo, pero contiene saltos de líneas con vbcrlf y también está sangrado con vbtab).


Sub CrearFormyControles()
Dim frm As Form
Dim txt As TextBox
Dim mdl As Module
Dim numLinea As Long
Dim codigoEvento As String

    Set frm = CreateForm
    Set txt = CreateControl(frm.Name, acTextBox, , , , 100, 100, 2000, 200)
    Set txt = CreateControl(frm.Name, acTextBox, , , , 100, 400, 2000, 200)

    Set mdl = frm.Module
    ' creamos el evento OnEnter para el segundo cuadro de texto
    numLinea = mdl.CreateEventProc("Enter", txt.Name) + 1
    ' este es el código del evento
    codigoEvento = "Dim cadena As String" & vbCrLf & vbCrLf _
    & vbTab & "cadena = ""Evento Enter""" & vbCrLf _
    & vbTab & "MsgBox cadena"
    ' insertamos el código dentro del procedimiento de evento
    mdl.InsertLines numLinea, codigoEvento

    ' ... más de lo mismo de antes
    numLinea = mdl.CreateEventProc("Exit", txt.Name) + 1
    codigoEvento = "Dim cadena As String" & vbCrLf & vbCrLf _
    & vbTab & "cadena = ""Evento Exit""" & vbCrLf _
    & vbTab & "MsgBox cadena"
    mdl.InsertLines numLinea, codigoEvento

    DoCmd.Close acForm, frm.Name, acSaveYes

End Sub