Crear nuevos checkbox

Marta
14 de Mayo del 2004
Hola a todos,

tengo una tabla 'áreas' y quiero crear un checkbox, dentro de un formulario, para cada valor de dicha tabla. ¿Se puede hacer? ¿Cómo lo hago? Es urgente.

Muchas gracias.
Saludos.

peris
14 de Mayo del 2004
hola, creo que puedo ayudarte pero para eso explicame más lo del check para poder decirte mejor.

saluds

Marta
14 de Mayo del 2004
Hola,

tengo un formulario que recoge los datos de un trabajador, este trabajador puede pertenecer a varias áreas distintas.

Para que lo pueda marcar fácilmente, pretendía crear un checkbox para cada área (por ejemplo: un checkbox para suministro, otro para almacén, otro para ventas...), de tal forma que el que lo rellene sólo tenga que seleccionar las áreas a las que pertenece.

Como estas áreas pueden variar, necesito leerlas de la base de datos, por lo que no puedo crearlas en la vista de diseño, sino por código. (Por cierto, estoy usando Access)

Si tienes alguna duda más concreta preguntame.
Gracias.
Saludos.

trinity
14 de Mayo del 2004
Si quieres crear checkbox dinámicos puedes utilizar
dim CheckDinamic as CheckBox
Set CheckDinamic = Controls.Add("VB.CheckBox", "CheckDinamic")

Lo que ya no se cómo hacer es recoger los eventos de los checkbox creados. Si lo descubres me lo explicas.
Muchas gracias

trinity
14 de Mayo del 2004
Perdona que no te he explicado lo de controls.add
recibe dos parámetros, el primero el tipo de control y el segundo el nombre que quieres darle al nuevo check creado.
Sorry

trinity
14 de Mayo del 2004
Perdona de nuevo, se me ha olvidado comentarte que para que veas el control debes redimensionarlo, por defecto de pone tamaño 0.
Mejor te escribo el código que funciona y asi no se me olvida nada más :)

Dim CheckDinamico As CheckBox

Private Sub Command1_Click()
Set CheckDinamico = Controls.Add("vb.checkbox", "CheckDinamic")
With CheckDinamico
.Move 100, 50, 2000, 200
.Caption = "Mi nuevo check"
.Visible = True
End With
End Sub


Marta
14 de Mayo del 2004
Hola,

me da un error al compilar en el método add de controls, el error dice así:

" Error de compilación: No se encontró el método o el dato miembro"

El código que tengo es este:

record.MoveFirst
cadena = record.GetString(adClipString, 1, "Area")
'en cadena tengo el primer valor

'el nombre de un check no puede contener
'espacios, debemos cambiarlos por '_'
cadena = Replace(cadena, " ", "_")

Set CheckDinamico = Controls.Add("vb.checkbox", cadena & "Check")
With CheckDinamico
.Move 100, 50, 2000, 200
.Caption = cadena
.Visible = True
End With

¿Sabes cómo podría hacerlo?
Gracias.
Saludos

trinity
14 de Mayo del 2004
Yo tengo el código que te he pasado en un proyecto con un botón y al pulsar el botón crea el checkbox y lo hace bien.

Tu codigo parece que está bien... por si te sirve te paso un página con un montón de ejemplos.

http://www.somser.com/2000VB/TEMAS.HTM

Selecciona controles y los dos primeros muestran como crear controles dinámicos.

Suerte.

Marta
14 de Mayo del 2004
Hola,

he entrado en la página y me he descargado los ejemplos, pero no los puedo leer. Estoy editando el código Basic en Access, puede ser que no lo reconozca bien. Así que sigo con el problema.

Si me pudieseis ayudar.... Gracias.

Marta
14 de Mayo del 2004
Hola,

muchas gracias, voy a probar ahora mismo, ya te contaré.

Saludos.