Usuario
listview vb 6.0

Pregunta
-
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
Todas las respuestas
-
Hola,
Para traer los datos del item seleccionado en el listview se usa el siguiente codigo:
ListView.ListItems.Item(ListView.SelectedItem.index).SubItems(x)
Para tu caso el telefono lo estas guardando en el subitem 1, por lo tanto para tomar el telefono del item seleccionado en el listview seria:
Telefono=Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedItem.index).SubItems(1)
-
-
gracias por el aporte colegas.
Nuevamente tengo una duda en el siguiente codigo que les voy anexar estoy intentando guardar los datos que se marquen en el listview en una bd, tengo esto pero obvio no me hace nada
For i = 1 To Lst_usuarios.ListItems.Count
nombre = Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedItem.Index).SubItems(i)
telefono = Lst_usuarios.ListItems.Item(Lst_usuarios.SelectedItem.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
La idea seria que los datos que yo marque en el listbox en conjunto con una informacion en el textbox se guarden en la bd, he intentado ya de varias maneras y bueno se imaginaran que soy nueva en esto y estoy algo bastante perdida.
-
-
Hola,
Proba con este codigo:
For i = 1 To Lst_usuarios.ListItems.Count
If Lst_usuarios.ListItems.Item(i).Selected Then
nombre = Lst_usuarios.ListItems.Item(i)
telefono = Lst_usuarios.ListItems.Item(i).SubItems(1)
SQL = "INSERT INTO persona_envios (persona_envio, numero_envio, Texto_mensaje) VALUES ( '" & nombre & "', " & telefono & "','" & txt_mensaje.Text & "' )"
g_db.Execute SQL
End If
Next iTengo dudas si es:
nombre = Lst_usuarios.ListItems.Item(i)
o
nombre = Lst_usuarios.ListItems.Item(i).SubItems(0)
-
es este nombre = Lst_usuarios.ListItems.Item(i)
ya que 0 vendria siendo la cabecera del list view, ahora ya lo estaba usando asi, pero tengo un problema con el txt no lo guarda, le doy mil vueltas para ver dopnde esta el error, por que no me lo esta tomando y nada, el nombre del txt es tal cual, me guarda los datos de el nombre el telefono mas no de algunos que marco y el texto no me lo guarda me quedo asi
For i = 1 To Lst_usuarios.ListItems.Count
If Lst_usuarios.ListItems.Item(i).Selected Then
nombre = Lst_usuarios.ListItems.Item(i)
telefono = Lst_usuarios.ListItems.Item(i).SubItems(1)
SQL = "INSERT INTO persona_enviados (persona_envio, numeros_envio, Texto_envio) VALUES ( '" & nombre & "', '" & telefono & "','" & txt_mensaje.Text & "')"
g_db.Execute SQL
End If
Next i