Access - treview

 
Vista:

treview

Publicado por sole (97 intervenciones) el 04/09/2001 16:50:33
hola a todos

Tengo un treview que me funciona perfectamente, lo que quiero es hacer otro con estas caracteristica para que si uds. me puedan ayudar por favor

la idea es tener un cuadro textbox que yo quiero condicionar y en el treview aparezca la informacion del cual se esta preguntando y un cuadro de lista apareza sobre el detalle

por ejemplo

textbox : lapiz ( condicion)
en el treview : solo debeiera aparecer solo lo que correponde al lapis
factura compra
factura venta
boleta
existencia

y al marcar alguna de estas opciones aparaceran informacion vinculada solo al lapiz y al seleccionar un dato que aparezca el detalle en el cuadro de lista

es como hacer una consulta en donde uno pone la condicion y aparezca sobre lo que uno pregunta

sole
valpa
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
Imágen de perfil de Alejandro

treview

Publicado por Alejandro (4142 intervenciones) el 17/04/2023 22:34:16
Para lograr lo que deseas, necesitarás programar algunos eventos de VBA para el textbox y el treeview.

Primero, debes programar el evento "Change" del textbox para que actualice el treeview cuando se ingrese una nueva condición. Puedes hacer esto utilizando el método "Nodes.Clear" para eliminar todos los nodos del treeview y luego agregar nuevos nodos utilizando el método "Nodes.Add" para cada factura, boleta y existencia que coincida con la condición.

A continuación, debes programar el evento "AfterSelect" del treeview para mostrar el detalle del elemento seleccionado en el cuadro de lista. Puedes hacer esto utilizando el método "ItemData" para acceder al índice del elemento seleccionado y luego mostrar el detalle correspondiente en el cuadro de lista.

Aquí hay un ejemplo de código que puedes usar como punto de partida:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub txtCondicion_Change()
    Dim node As Node
    Dim strSQL As String
 
    ' Borrar todos los nodos del treeview
    tvwDetalle.Nodes.Clear
 
    ' Construir la consulta SQL
    strSQL = "SELECT * FROM tabla WHERE campo = '" & Me.txtCondicion.Text & "'"
 
    ' Agregar los nodos correspondientes al treeview
    Set node = tvwDetalle.Nodes.Add(, , "FacturaCompra", "Factura compra")
    Set node = tvwDetalle.Nodes.Add(, , "FacturaVenta", "Factura venta")
    Set node = tvwDetalle.Nodes.Add(, , "Boleta", "Boleta")
    Set node = tvwDetalle.Nodes.Add(, , "Existencia", "Existencia")
End Sub
 
Private Sub tvwDetalle_AfterSelect(ByVal Node As MSComctlLib.Node)
    Dim strSQL As String
 
    ' Construir la consulta SQL
    strSQL = "SELECT detalle FROM tabla WHERE campo = '" & Me.txtCondicion.Text & "' AND tipo = '" & Node.Text & "'"
 
    ' Mostrar el detalle correspondiente en el cuadro de lista
    Me.lstDetalle.RowSource = strSQL
End Sub

Ten en cuenta que este es solo un ejemplo y que deberás adaptarlo a tus necesidades específicas. También es importante tener en cuenta que este código asume que estás utilizando los controles TreeView y ListBox de la biblioteca de objetos de Microsoft Windows Common Controls 6.0. Si no tienes esta biblioteca de objetos instalada, deberás hacerlo antes de utilizar este código.
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