Visual Basic - ListView

Life is soft - evento anual de software empresarial
 
Vista:

ListView

Publicado por Hernan (34 intervenciones) el 12/10/2009 02:50:59
Hola a todos.. necesito que me ayuden... si pueden y quieren claro jeje.
Tengo una base de datos hecha y lo que quiero es que cuando se cargue el form me aparezcan esos datos en un list view, y despues ir modificando, agregando y eliminando a traves del listview.... Como soy medio nuevo en esto y no tengo mucha experiencia ando medio perdido jejej asi que cualquier ayuda les agradecere.....
Nos vemos
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

RE:ListView

Publicado por el_guarro (17 intervenciones) el 13/10/2009 17:11:00
IMBE CIL

primero aprende como conectarte a una base de datos y obtener los registros. y luego a usar el listview.

Para esto, encuentras un HUE VO de info en internet. No seas VA GO, HIJO DE LA PU TA DE TU VIE JA
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

RE:ListView

Publicado por hernan (34 intervenciones) el 14/10/2009 03:04:50
A que bien, habia sido educadito el muchacho.... No te preocupes no te voy a molestar... si no te importa ayudar no me ayudes y listo.... Es mas no tenias ni que haber respondido... y si vamos al caso yo tampoco, pero para que veas que soy educado lo voy a hacer...
Ojala que te vaya bien en la vida y que nunca tengas que pedir ayuda porque no lo mereces, y el dia que necesites una mano nadie te va a ayudar.
Saludos y exitos.
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

RE:ListView

Publicado por ENERGY (5 intervenciones) el 14/10/2009 17:39:40
lamentablemente hay gente como el guarro, ke no ayuda y nomas insulta, post asi no valen la pena, pero no te desanimes porque aki hay mucha gente que si ayuda de verdad, pero para poder ayudarte debes especificar mas tu problematica

tipo, kellevas hecho? que tipo de base de datos usas, que conexion a la base quieres usar. respondiendo eso con todo gusto te podremos ayudar

aki siempre te ayudan con errores en tu codigo o dudas y te orientamos en lo ke podemos, mas nadie hace programas completos de lo que necesitan, para eso uno debe empezar a programar y las dudas con todo gusto se contestan aki.

saludos
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

RE:ListView

Publicado por hernan (34 intervenciones) el 15/10/2009 02:05:46
Si lamentablemente hay gente como el, pero bueno no importa ya fue....... gracias por responder...
Yo tengo la base de datos hecha en access, y lo que quiero es pasar los datos de esa base en el listview de un formularios....

Cuando arranca el formulario en el load llamo a una funcion

call Cargar_ListView
y despues en la lista tengo asi...

Sub Cargar_ListView(ListView As ListView)
Dim Campo As Integer
On Error GoTo ErrSub
Dim Item As ListItem
Dim I As Long
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.Open "C:\Microemprendedores\Proyectocic.mdb", "admin", ""
rst.Open "Actividad", cn, , , adCmdTable
Set Text1.DataSource = RS
Text1.DataField = "cod_act"
Set Text2.DataSource = RS
Text2.DataField = "nom_act"
With ListView
.View = lvwReport
.ListItems.Clear
.ColumnHeaders.Clear
End With
For Campo = 0 To rst.Fields.Count - 1
ListView.ColumnHeaders.Add , , rst.Fields(Campo).Name
Next
While Not rst.EOF
Set Item = ListView.ListItems.Add(, , rst.Fields(0))
I = 1
For Campo = 1 To rst.Fields.Count - 1
If Not IsNull(rst.Fields(Campo)) Then
Item.SubItems(I) = rst.Fields(Campo)
End If
I = I + 1
Next
rst.MoveNext
Wend
Exit Sub

ErrSub:
MsgBox Err.Description, vbCritical, "Error"
End Sub

El error que me da es no es argumento opcional cuando lo llamo en el load del formulario

Bueno gracias por responder...
Nos vemos
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

RE:ListView

Publicado por el_guarro (8 intervenciones) el 15/10/2009 17:52:15
hay la ne na se puso sentimental.

Hijo de la Chin gada

anda que te ca che un bu rro
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

RE:ListView

Publicado por juan carlos (518 intervenciones) el 15/10/2009 07:40:46
Hola Hernan ve al enlace de arriba
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

RE:ListView

Publicado por juan carlos (518 intervenciones) el 15/10/2009 07:44:24
Hola Hernan el enlace de arriba esta mal porque esta incompleto este es el completo
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

RE:ListView

Publicado por juan carlos (518 intervenciones) el 15/10/2009 07:54:59
Ese enlace no sirve Hernan mejor te dejo este codigo
Listar datos de una bd en un ListView y también poder editar
========================================
para el Form1
============================
Private Sub Form_Load()
'Vista de reporte
ListView1.View = lvwReport

'Carga los datos de la bd en el ListView
Cargar_Datos

End Sub

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)

' NOTA: _
ESPECIFICAR ACÄ LOS TEXTBOX CON LOS SUBITEMS
'**********************************************

With Form2
El_Item = Item.Text
'carga los textbox del form2 con los datos _
del Item a Editar
.Text1 = Item.Text
.Text2 = Item.SubItems(1)
.Text3 = Item.SubItems(2)
End With

'Abre el Form en forma Modal
Form2.Show 1

End Sub

para el Form2
============================
'Guarda los datos del Item
Private Sub CmdAceptar_Click()
Guardar_Datos
Unload Me
End Sub

'Cancela y cierra
Private Sub Cmdcancelar_Click()
Unload Me
End Sub

para un modulo
========================
Option Explicit

'Variable para la bd, el recordset y el Item ( registro ) a editar
Public bd As Database
Public Rst As Recordset
Public El_Item As String

Public Sub Cargar_Datos()

Dim i As Integer
'Variable para hacer referencia a los Subitems
Dim Nuevo_Item As ListItem

With Form1.ListView1

'Elimina los items y los encabezados de columna
.ListItems.Clear
.ColumnHeaders.Clear

.ColumnHeaders.Add , , "Nombre"
.ColumnHeaders.Add , , "Categoría"
.ColumnHeaders.Add , , "Stock"

'*****************************************************************
' CAMBIAR EL PATH DE LA BASE DE DATOS Y EL NOMBRE DE LA TABLA
'*****************************************************************

'Abre la base de datos y el recordset
Set bd = OpenDatabase(App.Path & "\bd1.mdb")
Set Rst = bd.OpenRecordset("Productos")

' Se posiciona en el preimer registro
Rst.MoveFirst


'Recorre todos los registro para añadirlos al ListView
For i = 1 To Rst.RecordCount


'AÑADIR LOS SUBITEMS NECESARIOS A VISUALIZAR EN EL LISTVIEW
'************************************************************
Set Nuevo_Item = .ListItems.Add(, , Rst.Fields(0))

Nuevo_Item.SubItems(1) = Rst.Fields(1)
Nuevo_Item.SubItems(2) = Rst.Fields(2)

Rst.MoveNext

Next

'cierra la base de datos , el recordset y libera la memoria
On Error Resume Next
Rst.Close
Set Rst = Nothing
bd.Close
Set bd = Nothing

End With

End Sub

'Para guardar los datos en la BD

Public Sub Guardar_Datos()
Dim i As Integer


'*****************************************************************
' CAMBIAR EL PATH DE LA BASE DE DATOS Y EL NOMBRE DE LA TABLA
'*****************************************************************

'Abre la base de datos y el Recordset
Set bd = OpenDatabase(App.Path & "\bd1.mdb")
Set Rst = bd.OpenRecordset("Productos")

'siguiente registro
Rst.MoveFirst

For i = 1 To Rst.RecordCount

' Recorre uno a uno los registros y si el primer elemento _
es igual al ITem del ListView, entonces es el que hay que editar

If El_Item = Rst.Fields(0) Then
Rst.Edit

'********************
' CAMBIAR LOS CAMPOS, Y AÑADIR LOS TEXTBOX NECESARIOS
'*********************

' Edita los datos del registro
Rst.Fields(0) = Form2.Text1
Rst.Fields(1) = Form2.Text2
Rst.Fields(2) = Form2.Text3

'Rst.Fields(3) = Form2.Text3
'...etc..


'Actualiza los datos
Rst.Update

Exit For

Else
'siguiente registro
Rst.MoveNext
End If

Next i

'Descarga el recordset y cierra la base de datos
Rst.Close
Set Rst = Nothing
bd.Close
Set bd = Nothing

'Vuelve a cargar los datos en el ListView del Form principal (Form1)
Cargar_Datos

End Sub
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

RE:ListView

Publicado por hernan (34 intervenciones) el 23/10/2009 05:41:04
gracias juan carlos por la respuesta estoy intentandolo...
Tengo una duda en una parte..
por ej en el modulo en la parte cargar_datos cuando pones..

' CAMBIAR EL PATH DE LA BASE DE DATOS Y EL NOMBRE DE LA TABLA
'*****************************************************************
'Abre la base de datos y el recordset
Set bd = OpenDatabase(App.Path & "\bd1.mdb")
Set Rst = bd.OpenRecordset("Productos")

yo la base de datos la abro en el load del formulario y pongo asi
Set cn = New ADODB.Connection
Set RS = New ADODB.Recordset
cn.Provider = "Microsoft.jet.OLEDB.4.0"
cn.Open "C:\Microemprendedores\Proyectocic.mdb", "admin", ""
RS.CursorType = adOpenKeyset
RS.LockType = adLockOptimistic
RS.Open "Actividad", cn, , , adCmdTable
Set Text1.DataSource = RS
Text1.DataField = "cod_act"
Set Text2.DataSource = RS
Text2.DataField = "nom_act"
o sea que tendria que poner algo similar a eso??
despues esa parte que pones.. guardar_datos, y cancelar yo lo hago en el boton asi que no iria en mi caso..
Y pusiste form1 y form2... en mi caso seria un solo formulario, porque lo que oculto y hago aparecer yo es la lista y despues los textbox y los botones...
Bueno desde ya muchas gracias por tu respuesta seguire intentando...
Gracias
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