Autor Tema: Creación de formulario por código (v2)  (Leído 2354 veces)

Desconectado xavi

  • Administrador
  • Habitual
  • *****
  • Mensajes: 213
Creación de formulario por código (v2)
« en: Abril 20, 2012, 07:19:49 pm »
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).

Código: [Seleccionar]
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