Sección de códigos , trucos y ejemplos para visual basic


219 - Listar datos de una bd en un ListView y también poder editar

<Volver> - Anterior - Siguiente



 

Ejemplo que utiliza DAO para conectarse a una base de datos Access y cargar los datos en un control ListView, y al hacer click en un Item poder abrir otro formulario para poder editar dicho registro

 

Esta es una vista del formulario que carga una tabla en el ListView:

vista del Form1 con los datos de la tabla cargados en el ListView

 

Al hacer un click en un Item ( evento Item_Click del ListView ) se abre un formulario en modo Modal para editar el dato:

 

vista del Form2 para editar el Registro y poder guardar

 

El ejemplo tiene dos rutinas, una llamada cargar_Datos y otra Guardar_Datos. Al cargar el primer formulario, llena el ListView, si se presiona en un Item, se abre el otro form, que tiene dos botones, si se presiona Aceptar se ejecuta la Sub guardar_Datos.

Para el ejemplo colocar en un Form1 que será el principal, un control Listview llamado ListView1.

En el otro formulario, colocar los textbox que se necesiten para mostrar los datos de la tabla. y también en el form2 dos commandButton: CmdCancelar y CmdAceptar.

Nota: en el código cambiar las siguientes líneas que crean los encabezados de columna, es decir agregar los campos de la tabla, por ejemplo:

 

.ColumnHeaders.Add , , "Campo 1"
.ColumnHeaders.Add , , "Campo 2"
etc...

También especificar la tabla que se va a utilizar, esto en el método OpenRecordset de DAO , por ejemplo:

 

OpenRecordset ("La Tabla")

Además especificar en la Sub Guardar_datos, las siguientes lineas

 

Rst!("Campo1") = Form2.Text1
Rst!("Campo2") = Form2.Text2
..etc

Donde los Textbox deben especificar el campo a editar

y por último en el evento ItemClick del ListView, especificar también los TexBox con los subItems del ListView.

 

Nota: en este enlace hay un ejemplo de como Cargar una tabla en un ListView usando ADO en forma dinámica, es decir agregando los encabezados de columna en tiempo de ejecución, de esta forma se puede optimizar este ejemplo, ya que no hay que agregar manualmente los columnHeaders y demás.

..y en este otro enlace hay un ejemplo muy similar a este pero en ves de usar Dao como conexión utiliza ADO : Editar un Listview usando ADO

 


A continuación sigue el código para agregar en el Form1 ( el que tiene el Listview), el código del Form2 que tiene los TextBox para editar el registro, y luego el código para Guardar y Abrir en un Módulo bas:

 

 

Código fuente en Fom1

 


Código para el Form2

 


Código en un módulo bas:

 



Buscar en Recursos vb