Visual Basic para Aplicaciones - crear checkbox dinamicos

Life is soft - evento anual de software empresarial
 
Vista:

crear checkbox dinamicos

Publicado por Mapiruli (1 intervención) el 03/09/2008 09:35:09
Hola!!

Que tal? Estoy haciendo una aplicacioncilla en Access y Visual Basic. Quiero hacer una consulta a mi base de datos, y mostrar los datos listados cada uno de ellos con un checkbox al lado. Es decir que quiero insertar checkbox dinamicos. Pero me da problemas por el ActiveX.

Mi codigo es:

Dim text_box As TextBox

Set text_box = New TextBox

Y me avisa de esto:

"ActiveX component can't create object"

Sabeis que es lo que me falta?? Puede ser alguna libreria de objetos ??

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:crear checkbox dinamicos

Publicado por Albert (1 intervención) el 07/10/2008 13:49:43
No entro mucho por aquí, de hecho no tengo usuario, pero creo que te puedo ser de ayuda.

Yo tuve que hacer lo mismo, generar <n> controles, lo hice creando objetos distintos, pero luego me di cuenta de que lo fácil hubiera sido hacerlo de otro modo.

Créate un objeto check, pero que sea un array de controles, es decir, que debes conseguir tener en tu formulario algo parecido a un chkLista(0), y conforme vayas necesitando vas añadiendo al array. Si no sabes como, la forma fácil es crear un check en tu formulario, seleccionarlo, copiar+pegar y cuando te pregunte si quieres crear un array de controles le dices que sí, borras el segundo y ya está. Con eso ya tienes el chkLista(0).

Con un array de controles todo se simplifica, por ejemplo, en tiempo de diseño ya puedes programarte los eventos, que funcionarán para todos los controles que añadas a ese array ya que recibirán un index.

El método "malo" para crear controles independientes:

' Crea un label.
Private Sub Crear_Etiqueta(Linea As Long, NomCampo As String, Literal As String)
Dim loCont As Control
Set loCont = Me.Controls.Add("VB.Label", "Lbl" & NomCampo, FraFiltros)
loCont.Top = Linea * 500
loCont.Left = 100
loCont.Width = 2000
loCont.Height = 300
loCont.Caption = Literal
loCont.Visible = True
End Sub

El método bueno:

Disponer de un control array creado y programado.
Para añadir nada tan sencillo como:

For i = 1 To 10
Load chkLista(i)
chkLista(i).Left = txtLista(0).Left
chkLista(i).Top = txtLista(0).Top + i * 200
chkLista(i).Visible = True
Next i
DoEvents
Me.Refresh

Espero haber sido de ayuda
Albert Roig
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear checkbox dinamicos

Publicado por momo32 (1 intervención) el 01/12/2008 11:32:00
Yo uso VB para aplicaciones (WORD) y no me pregunta lo de crear un array de controles al copiar y pegar el control.
En Acerca de .. me dice que es la version 6.3. VBC Retail 6.5.1024.

¿ Se puede crear de alguna otra forma el array de controles ?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar