Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Usos listview en vb6.0

Estas en el tema de Usos listview en vb6.0 en el foro de Visual Basic clásico en Foros del Web. Buenos dias colegas, Tengo un listview el cual me trae informacion de una base de datos, tomando en cuenta que el listwiew funciona como una ...
  #1 (permalink)  
Antiguo 25/04/2012, 09:11
 
Fecha de Ingreso: abril-2012
Ubicación: Caracas
Mensajes: 22
Antigüedad: 8 años, 9 meses
Puntos: 1
Usos listview en vb6.0

Buenos dias colegas,

Tengo un listview el cual me trae informacion de una base de datos, tomando en cuenta que el listwiew funciona como una hoja excel, dicha informacion que traigo son nombres y numeros telefonicos, tengo un formulario el cual es para envio de sms, lo que significa que cuando yo quiera enviar un sms en un boton enviar me debe jalar de ese listview solo los datos que yo con el teclado y o mouse haya seleccionado, como haria en ese caso??

Les muestro el codigo elaborado para mas detalles y sirva para aquellos colegas que necesitan llenar un listview desde una bd y no sepan.

--llamo el listview desde el formulario
Private Sub Form_Load()
Dim rs As New ADODB.Recordset
Dim sql As String

' Eliminar las cabeceras
Lst_usuarios.ColumnHeaders.Clear
'
' Asignar las cabeceras
With Lst_usuarios.ColumnHeaders.Add(, , "Nombre", 2400)

End With
With Lst_usuarios.ColumnHeaders.Add(, , "Telefono", 2000, lvwColumnRight)

End With


TIPO_EVENTO = 1
--abro bd
g_db.Open "driver={SQL Server};server=SERVIDOR2;uid=profit;pwd=profit;dat abase=Prueba1"

'-- llena el combo de Usuarios
--selecciono la tabla y los campos que deseo se muestren
sql = "select nombre_persona, numero_persona from persona order by nombre_persona"
rs.Open sql, g_db
--recorro el recorset
Do While Not rs.EOF
If Not IsNull(rs.Fields.Item(0).Value) Then
With Lst_usuarios.ListItems.Add(, , rs.Fields.Item(0).Value)
' Cada subitem debe corresponder con cada una de las cabeceras
' la segunda cabecera es el Subitems(1) y así sucesivamente
.SubItems(1) = rs.Fields.Item(1).Value
End With
End If
rs.MoveNext
Loop
rs.Close

g_db.Close

End Sub

obviamente la sentencia que necesito se debe ejecutar en el comand enviar
  #2 (permalink)  
Antiguo 25/04/2012, 09:53
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: Usos listview en vb6.0

Hola!
Intenta con:

ListView.SelectedItem.SubItems(1), Para seleccionar el Nombre
ListView.SelectedItem.SubItems(2), Para seleccionar el Numero
  #3 (permalink)  
Antiguo 26/04/2012, 16:11
 
Fecha de Ingreso: abril-2012
Ubicación: Caracas
Mensajes: 22
Antigüedad: 8 años, 9 meses
Puntos: 1
Respuesta: Usos listview en vb6.0

Hola de nuevo colegas, no me habia explicado bien.

La idea es que luego de seleccionar los datos en un listview cuando le de click al boton enviar me guarde en un bd ya creada los datos que justamente se marcaron en el listview mas un texto que esta contenido en el textbox.

Se que se deberia utilizar un ciclo for pero hasta ahora necesitaria ayuda ya que no me hace nada

For i = 1 To Lst_usuarios.ListItems.Count
nombre = Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedI tem.Index).SubItems(i)
telefono = Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedI tem.Index).SubItems(i)
SQL = "INSERT INTO persona_envios (persona_envio, numero_envio, Texto_mensaje) VALUES ( '" & nombre & "', " & telefono & "','" & txt_mensaje.Text & "' )"
g_db.Execute SQL
Next i

rs.Open SQL, g_db
rs.Close
g_db.Close

y gracias por el aporte lokoman
  #4 (permalink)  
Antiguo 27/04/2012, 10:00
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: Usos listview en vb6.0

Creo que no necesitas de un FOR si solo es el ITEM seleccionado el que se guardará. A tu query le falta un ( ' ), Intenta asi:

Código vb:
Ver original
  1. Nombre = Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedI tem.Index).SubItems(i)
  2. Telefono = Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedI tem.Index).SubItems(i)
  3.  
  4. SQL = "INSERT INTO persona_envios (persona_envio, numero_envio, Texto_mensaje) VALUES ( '" & nombre & "', '" & telefono & "','" & txt_mensaje.Text & "')"
  5.  
  6. g_db.Execute SQL
  #5 (permalink)  
Antiguo 30/04/2012, 08:05
 
Fecha de Ingreso: abril-2012
Ubicación: Caracas
Mensajes: 22
Antigüedad: 8 años, 9 meses
Puntos: 1
Respuesta: Usos listview en vb6.0

Buenos Dias Estimados colegas,

Pude resolver el problemita que tenia, gracias a los que aportaron fue de gran ayuda, aqui les dejo el fragmento de codigo para aquellos que lo necesiten:

For i = 1 To Lst_usuarios.ListItems.Count

If Lst_usuarios.ListItems.Item(i).Selected Then
sql = "INSERT INTO persona_enviados (persona_envio, numeros_envio, Texto_envio ) VALUES ( '" & Lst_usuarios.ListItems(i) & "', '" & Lst_usuarios.ListItems(i).SubItems(1) & "','" & texto & "')"
g_db.Execute sql
End If
Next i

Tenia un problema con el textbox ya que no me guardaba lo que se anotaba por pantalla y para ello tuve que crear una variable global variant.
Espero les sea de ayuda

Etiquetas: listview, usos, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:04.