Logo_Access_global_380x114Favicon_Access_global_180x180Logo_Access_global_380x114Logo_Access_global_380x114
  • Home
  • University
    • Destellos formativos
  • Labs
  • TV
  • Secciones
    • El mundo de Access
    • Explorando VBA
      • Artículos sobre VBA
      • Un trocito de código
    • Entrevistas
      • Profesionales de Access
    • El rincón de Excel
    • Bases de datos
      • MS SQL
      • MySQL
      • postgreSQL
      • SQLite
    • Clases magistrales
    • Utilidades hechas con Access
  • Access en el mundo
  • ¿Quiénes somos?
  • Cómo colaborar
  • Eventos
✕
            No hay resultados Mostrar todos los resultados
            Access: función “datevalue”
            10/02/2022
            Access: abrir maximizado
            11/02/2022
            Mostrar todos

            ¿Cómo trabajar con una jerarquía padre-hijo?

            Publicado por Antonio Otero
            Categorías
            • Clases magistrales
            Etiquetas
            • Access
            • Listbox
            • VBA

            ¿Qué vamos a ver en esta clase?

            Podemos diseñar una jerarquía padre-hijo y en una sola tabla disponer de toda la información de diferentes tipos de datos.

            En esta clase veremos como crear una jerarquía padre-hijo con diferentes tipos de datos y cómo mostrarlos posteriormente en un TreeView.

            Para conseguir esto vamos a necesitar un formulario de Access con un treeview y tantos botones de opción como tipos de datos queramos representar.

            Al final de la entrada encontrarás un vídeo de cómo puedes hacerlo y un ejemplo que puedes descargar.

            Los pasos a seguir son:

            1. Creamos una única tabla con todos los datos que queramos incluir en la jerarquía.

            2. Vamos a insertar un objeto  treeview en nuestro formulario , para ellos accedemos a Contoles Activex , Microsoft TreeView Control versión 6.0.

            3. Una vez insertado modificamos el aspecto de nuestro treeview:

            Con el botón derecho del ratón sobre el objeto que acabamos de crear accedemos a sus propiedades.

            Ahora vamos a modificar

            El Style:      (como se muestra la estructura en pantalla) seleccionamos 7

            Mouse Pointer:    (como aparece el puntero del mouse al situarse sobre el treeview) seleccionamos 99

            Label edit : (es posible editar el nodo, o sea cambiar el valor del texto) seleccionamos 0 Automatic 

            Y Marcar CheckBoxes  , muestra un checkbox al lado de cada nodo  para realizar una selección,  se denominan NODOS a los elementos del treeview

            Pulsamos aceptar.

            Por último, vamos a llamarlo treeview0

            4. Una vez configurado vamos a cargar los datos desde la tabla tipos datos con el siguiente código:

            Private Sub cargar_tree()
            
                    Dim tip As Integer, sq As String, keynodopadre As String, rs As Recordset, nodo As Node
                           
                    Me.TreeView0.Nodes.Clear
                    tip = Me.m_tipos
                    sq = "select * from tipos_Datos where tipo= " & tip & " and idpadre= -1 order by id asc"
                    Set rs = CurrentDb.OpenRecordset(sq)
                 
                    While Not rs.EOF
                          
                            keynodopadre = "a" & rs!id
                          
                            Set nodo = Me.TreeView0.Nodes.Add(, , keynodopadre, rs!descripcion)
                            CARGA_HIJO1 (keynodopadre)
                            
                            rs.MoveNext
                    Wend
                    rs.Close
                    Set rs = Nothing
            End Sub
            
            Function CARGA_HIJO1(PA As String)
            
                            Dim sq As String, cla As String, rs1 As Recordset, nodo As Node
                            
                            sq = "select * from tipos_Datos where tipo= " & Me.m_tipos & " and idpadre= " & Mid(PA, 2, Len(PA)) & " order by id asc"
                            Set rs1 = CurrentDb.OpenRecordset(sq, dbOpenDynaset)
                            While Not rs1.EOF
                                cla = "b" & rs1!id
                             
                                Set nodo = Me.TreeView0.Nodes.Add(PA, 4, cla, rs1!descripcion)
                                CARGA_HIJO2 (cla)
                                rs1.MoveNext
                            Wend
                  
                    rs1.Close
                    Set rs1 = Nothing
                    
             End Function
            

            3. Creamos tantos botones de opción como tipos de datos queramos representar.

             

            A continuación puedes ver el vídeo con la explicación de todo el proceso.

            Por último, te adjuntamos el ejemplo en Access para que te lo puedas descargar y utilizar en tus aplicaciones.

            Icono

            Jerarquía padre-hijo

            1 archivo(s) 448.20 KB
            ¡Descarga el ejemplo!

            Compartir
            8
            Antonio Otero
            Antonio Otero

            Entradas relacionadas

            04/04/2022

            Drag & Drop en Access


            Leer más
            19/01/2022

            Listbox dinámicos


            Leer más

            2 Comments

            1. Francisco dice:
              08/12/2022 a las 5:21 pm

              El enlace al ejemplo de jerarquia padre-hijo esta mal
              Es el enlace a listbox-dinamicos

              Saludos

              Responder
              • Luis Viadel dice:
                10/12/2022 a las 9:17 am

                Muchas gracias Francisco. Ya hemos arreglado el enlace. Un saludo.

                Responder

            Deja una respuesta Cancelar la respuesta

            Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

            ETIQUETAS

            Access API BD Botones ComboBox Consultas CountOfLines CStr Diseño DoCmd Excel Exportar Fecha FileSystemObject Filtros For Each...Next Formulario Formularios Funciones Funciones de dominio GetFolder GetWindowRect Google maps Informes InStr Kill Left Listbox Mid Módulos Node ProcCountLines Procedimientos ProcOfLine References Replace Ribbon RunCommand Seguridad Split SysCmd Tablas TreeView VBA VBIDE

            ÚLTIMAS ENTRADAS

            • 0
              Tratamiento de errores: compilación condicional
              30/03/2023
            • 0
              Tratamiento de errores: errores personalizados
              29/03/2023

            ¿QUIERES PUBLICITAR TU EMPRESA AQUÍ?

            SUSCRÍBETE A NUESTRO
            NEWSLETTER

            Recibirás información puntual sobre el mundo de Access y VBA

            ¡Próximamente!

            Promovemos el uso de Access y de la programación en VBA en todo el mundo

            Centro de conocimiento


            Toda la sabiduría de los mejores programadores de Access y VBA a tu alcance.

            Legal

            Política de privacidad

            Condiciones de uso

            Condiciones del redactor

            ®Access Global 2021 | All right reserved
                      No hay resultados Mostrar todos los resultados