• Martes 19 de Noviembre de 2024, 11:20

Autor Tema:  Seleccionar Varios String De Una Lista De Datos  (Leído 1381 veces)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Seleccionar Varios String De Una Lista De Datos
« en: Jueves 20 de Abril de 2006, 19:51 »
0
Hola! gente

Alguno de ustedes alguna vez ha hecho, o les han madado a hacer algo en donde se desea que de una lista se seleccionen varios campos.

Una idea:
Han visto en las web donde se llenan Formularios, o mejor dicho, en las Web donde se busca Empleo, que al seleccionar el Area, puede escogerse varias de la lista, pulsando la tecla Ctrl + Click del mouse.

Bueno exactamente eso, no sé con qué control se puede hacer eso en VB
O peor aun, que a un lado (a la izquierda) esté un check que uno vaya seleccionando de la lista, lo escogido.  Algo asi como cuando vemos nuestro correo, el cual tiene un Check para marcar los correos de entre los demas de la lista.

Pues eso mismo, alguien sabe cómo puede hacerse eso en VB, porque en verdad que eso me tiene asi  de voluo, ni idea :blink:

Un millon de dolares a quien me otorque unos buenos datos para poder hacer esto, gracias  :hola:
Si esto es Leído por accidente, induzca al vomito

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Seleccionar Varios String De Una Lista De Datos
« Respuesta #1 en: Jueves 20 de Abril de 2006, 21:27 »
0
Incorpora a tu proyecto, el componente "Microsoft Windows Common Control 6.0 (SP6)".

En un formulario, agrega:
- 1 control Treeview (a este control, en la propiedad CHECKBOX asignale TRUE)
- 1 control CommandButton

E incorpora el siguiente codigo a tu formulario...

Private Sub Command1_Click()
msg = Empty
For i = 1 To TreeView1.Nodes.Count
    If TreeView1.Nodes(i).Checked = True Then
        msg = msg & TreeView1.Nodes(i).Text & vbLf
    End If
Next i
If Len(msg) > 0 Then
    msg = "Se han seleccionado los siguientes nodos..." & vbLf & msg
    MsgBox msg
Else
    MsgBox "No se ha seleccionado ningun nodo"
End If
End Sub

Private Sub Form_Load()
For i = 1 To 7
    Set Nodo = TreeView1.Nodes.Add(, , "R" & i, Format(Date + i, "dddd"))
Next i
Command1.Caption = "Mostrar Seleccionados"
End Sub


SUERTE...

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Seleccionar Varios String De Una Lista De Datos
« Respuesta #2 en: Jueves 27 de Abril de 2006, 17:18 »
0
Hola Jose, muchas gracias... si fijate que por ahi va la cosa, algo asi es justo lo que necesitaria poner en la ventana para poder seleccionar varios item de la lista.

Estoy tratando de que lo que salga en la lista sean datos provenientes de una Tabla de una bd access, una tabla que solo tiene un solo campo, el cual es la lista.

He puesto las siguientes escrituras en el código pero no me ha dado resultados:

Intento 1:
Código: Text
  1.  
  2. For i = 1 To Rs.RecordCount
  3.      Set Nodo = TreeView1.Nodes.Add(, , "R" & i, Rs!Campo)
  4. Next i
  5.  
  6.  

Intento 2:
Código: Text
  1.  
  2. If Rs.RecordCount > 0 then
  3.    Rs.MoveFirst
  4.    While Not Rs.EOF
  5.         For i = 1 To Rs.RecordCount
  6.              Set Nodo = TreeView1.Nodes.Add(, , "R" & i, Rs!Campo)
  7.         Next i
  8.         Rs.MoveNext
  9.   Wend
  10. End if
  11.  
  12.  

y otras escrituras con el MoveFirst y el MoveLast pero sin el While y otras con wl bucle While pero sin MoveFirst y MoveLast, creo que el bucle While está demas, porque el ciclo del For ya marca un ciclo, bueno no sé.

En la tabla hasta el momento hay 13 conceptos para la Lista, y exlucyendo los errores, solo he visto con estos escritos, que salga 13 veces el ultimo registro o 13 veces el primer registro, pero no todos, eso es por el RecordCount en juego con el MoveFirst y el MoveLast que pasa esa repeticion como una caligrafia hehe.

Por ejemplo yo veia la lista en un ComboBox asi:
Código: Text
  1.  
  2.     Rs.Requery
  3.     If Rs.RecordCount > 0 Then
  4.         Rs.MoveFirst
  5.         While Not Rs.EOF
  6.             CmbConcepto.AddItem Rs("TxtConceptoUnid")
  7.             Rs.MoveNext
  8.         Wend
  9.     End If
  10.  
  11.  

Pero no puedo seleccionar varios con este control ComboBox y aun no he dado bien con la sintaxis correcta para que en la lista del Treeview se vean todos los registros de la tabla, algo que vaya en lo que está en negrita en el codigo y que no de errores y genere la visualización de todos los registros existentes en la tabla.

For i = 1 To Rs.RecordCount
     Set Nodo = TreeView1.Nodes.Add(, , "R" & i, Rs!Campo)
Next i

PD: Perdon por la demora de contestar, es que hasta el dia de ayer fue que pude ponerle la fuente de poner nueva a la PC, ya que estuve como unos 6 dias o mas sin PC, sin internet... por cierto.. que significa o hace exactamente la "R" en el código referente a un Key ¿????

 :comp:
Si esto es Leído por accidente, induzca al vomito