La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Access/1278620-Cuadro-lista-con-casillas-de-verificacion.html

Cuadro lista con casillas de verificacion

Cuadro lista con casillas de verificacion

Publicado por Daniel Lopez (26 intervenciones) el 01/08/2011 17:29:16
Hola. estoy creando una base de datos con 3 tablas Piezas, Zonas y Partes.
En el formulario principal tengo 3 cuadros combinados uno para que me selecione una de las piezas que hay, otro las zonas de esa pieza y otro las partes de la zona que elija. Creo que los tengo bien relacionados pero en el ultimo para las partes no logro que aparte de las partes de la zona me aparezca una casilla de verificacion para elegir una, varias o todas, solo aparece Desactivado, las tengo todas sin marcar el la tabla. (sí aparece la casilla en la tabla Partes y en la consulta origen de la fila )
Luego tengo un subformulario etiquetas que tengo que vincular al principal y que la idea es que me salgan tantas etiquetas como partes haya seleccionado en el cuadro combinado partes a traves de las casillas de verificacion y que en cada una de las etiquetas aparezca la parte elegida.
Puedo cargar subformularios distintos dependiendo la zona que haya elegido en el cuadro combinado zona?
Me puedes echar un cable y decirme por donde van los tiros?.
Muchisimas gracias de antemano.
sin imagen de perfil

Cuadro lista con casillas de verificacion

Publicado por Jefferson (382 intervenciones) el 01/08/2011 22:23:22
Hola Daniel Lopez

debes crear un subformulario o si trabajas con Access 2007/2010 un control Secundario

luego y mediante codigo seleccionar todas las casillas o desactivarlas todas (ojo el control secundario/subformulario es para que el usuario pueda elegir entre uno y otro)

luego despues de eso te creas un Recordset a la tabla de las casillas para que te recoja todas las checkbox marcadas y puedas crear las etiquetas


Option Compare Database
'Marcar Referencia a Microsoft DAO 3.6 Object Library
Sub MarcarCasilla _
(ValoR As Boolean, _
subfrm As Form, _
CamPoTabLe As Variant)
On Error GoTo Marca_Err

Dim rs As DAO.Recordset
subfrm.Recordset.MoveLast
Set rs = subfrm.RecordsetClone
With rs
.MoveFirst
While Not .EOF
.Edit
subfrm(CamPoTabLe) = ValoR
.Update
subfrm.Form.Recordset.Bookmark = rs.Bookmark
.MoveNext
Wend
.Close
.Requery
End With
Set rs = Nothing
Marca_Exit:
Exit Sub

Marca_Err:
MsgBox Error$
Resume Marca_Exit
End Sub


Function RecorreTabla
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("Select CampoEtiquetas from LATABLA where [CampoCheckBox] = true")
If rst.RecordCount > 0 Then
While Not rst.EOF
RecorreTabla = RecorreTabla & rst!Campo
rst.MoveNext
Wend
End If
rst.Close
Set rst = Nothing
end function

http://sites.google.com/site/jjjt1973/ejemplos-access

Desde Venezuela
Jefferson

Cuadro lista con casillas de verificacion

Publicado por Daniel Lopez (26 intervenciones) el 01/08/2011 23:00:19
Hola.
Lo primero gracias por contestar.
Lo del subformulario no me interesa creo xq me conviene que al elegir las partes y pulsando un boton me cargue otro formulario distinto o un informe con un numero de etiquetas (= a numero de paginas a imprimir) igual a las partes elegidas del cuadro combinado a traves de las casillas de verificacion. Para que el nuevo formulario o informe se me cargue ya maximizado y con varias paginas en funcion del numero de etiquetas.
Una pregunta, ¿porque en un subformulario basado en la tabla partes si me aparecen las casillas de verificacion y en un cuadro combinado o un cuadro de lista en vez de la casilla aparece Si o No?
Me pudes explicar un poco mejor lo del Recordset para las casillas marcadas?
Aunque primero tengo que lograr q me aparezcan en mi cuadro lista.

Gracias.
sin imagen de perfil

Cuadro lista con casillas de verificacion

Publicado por Jefferson (382 intervenciones) el 01/08/2011 23:31:13
Mi estimado amigo, ya veo que no manejas bien esto de VBA..

En Access "no" puedes mostrar casillas de verificacion en un cuadro de lista (al menos yo no lo he visto) pues Access no posee hwnd en sus controles y no podriamos enviar un control dentro de otro control al menos por codigo VBA .... OJO en VB los cuadro de lista si poseen la propiedad para mostrar un checkbox.

Por eso te comento que debes usar un SubFormulario o un Control Secundario si es Access 2007/2010

lo de los Recordset tendrias que buscar ayuda en MSDN pues en esto de explicar soy muy malo
"me defiendo mas escribiendo"

https://sites.google.com/site/jjjt1973/ejemplos-access

Cuadro lista con casillas de verificacion

Publicado por Daniel Lopez (26 intervenciones) el 02/08/2011 00:58:41
Gracias de nuevo.
Lo intentare con un subformulario.
¿a que te refieres con un Control Secundario?
¿no podrias ponerme en lo del Recordset de las casillas, los campos que tendria que cambiar por los mios o una breve explicacion de lo que hace cada linea o grupo de lineas?
Muchas gracias por todo.
sin imagen de perfil

Cuadro lista con casillas de verificacion

Publicado por Jefferson (382 intervenciones) el 02/08/2011 03:04:29
Te hice un ejemplo con un subformulario pues con un Control Secundario tendría que escribir mas código y creo que te enredaría mas....

espero le saques provecho


https://sites.google.com/site/jjjt1973/Home/agenda-de-cumpleanos/recorset.rar?attredirects=0&d=1




https://sites.google.com/site/jjjt1973/ejemplos-access



Desde Venezuela
Jefferson

Cuadro lista con casillas de verificacion

Publicado por Daniel lopez (26 intervenciones) el 02/08/2011 21:24:17
Gracias.
Voy a intentarlo.
Un saludo.

Cuadro lista con casillas de verificacion

Publicado por Daniel (26 intervenciones) el 02/08/2011 23:24:39
Hola de nuevo.
Perdona me ha surgido otro problema.
¿Como hago para vincular un cuadro combinado con un subformulario?
Lo que quiero es que al seleccionar una zona en el cuadro combinado CuadroNombreZonas
me aparezcan en el subformulario las partes correspondientes a esa zona.
Alguna idea?
Gracias.