Actualizar tabla SQL desde Datagrid

Actualizar datos de una tabla SQL en un formulario VB6 de forma sencilla.

A veces es necesario tener que actualizar datos de una tabla SQL en particular y una forma sencilla de hacerlo es cargando los datos en un DATAGRID y habilitando algunas propiedades de la misma.

 A continuación tenemos las líneas de código que son necesarias para cargar el datagrid generado (obviamos la conexión con la base de datos que se representa en la variable cnDB)

Set rsdatos = New ADODB.Recordset
rsdatos.CursorLocation = adUseClient
rsdatos.Open "SELECT campo1 as Dato1,Campo2,Campo3 as Dato3,Campo4,Fecha5 as Fecha,Campo6 as Observaciones,Campo7,Campo8 as Dato8,Campo9/Campo10 as Resultado,Campo10 as Total,Campo11,Campo12 FROM archivo where fecha5 = '" & wFecha & "' and Campo1 in(x,xx) ORDER BY Campo3,Campo2", cnDB, adOpenDynamic, adLockOptimistic

Set wTabla.DataSource = rsdatos

wTabla.Refresh
wTabla.Columns(0).Width = 800
wTabla.Columns(0).Locked = False
wTabla.Columns(1).Width = 2600
wTabla.Columns(1).Locked = True
wTabla.Columns(2).Width = 1000
wTabla.Columns(2).Locked = True
wTabla.Columns(3).Width = 2200
wTabla.Columns(3).Locked = True
wTabla.Columns(4).Width = 1000
wTabla.Columns(4).Locked = False
wTabla.Columns(5).Width = 3300
wTabla.Columns(5).Locked = False
wTabla.Columns(6).Width = 800
wTabla.Columns(6).Locked = False
wTabla.Columns(7).Width = 800
wTabla.Columns(7).Locked = False
wTabla.Columns(8).Width = 800
wTabla.Columns(8).Locked = True
wTabla.Columns(9).Width = 1100
wTabla.Columns(9).Locked = True
wTabla.Columns(10).Width = 10000
wTabla.Columns(10).Locked = True
wTabla.Columns(11).Width = 2000
wTabla.Columns(11).Locked = True

En la misma se ve que una consulta SQL se carga en un recordset(conjunto de datos) llamado rsdatos, el cual se carga en el datagrid wtabla. La consulta tiene 12 campos, algunos de los cuales son cálculos (Campo9/Campo10 as Resultado) y tiene un filtrado según la fecha seleccionada.

La imagen muestra las propiedades que tiene el datagrid y a partir de estas podremos hacer DELETE, INSERT, o modificaciones de los registros que devolvió la consulta al datagrid, todo es a partir de tener en FALSE o TRUE los atributos ALLOWADDNEW(permite insertar un registro si se va al final del datagrid cuando está en valor TRUE) o ALLOWDELETE(permite que al seleccionar una tupla y presionar la tecla delete se elimine la misma) o ALLOWUPDATE (permite la actualización del registro en donde se está ubicado), al mismo tiempo se puede cambiar en forma dinámica dentro del formulario, el atributo LOCKED de cada columna del datagrid, que permitirá o no, la modificación del dato contenido en el mismo.

Como verán esta es una forma muy sencilla para la actualización de un conjunto de datos, pero al mismo tiempo si no se utiliza con criterio puede ser una complicación dado que los datos se modifican inmediatamente o hasta incluso pueden ser eliminados. Vale aclarar que cierto tipo de validaciones no podrán ser tenidas en cuenta, pero si necesitamos hacer algo simple y sencillo, estas líneas pueden ser útiles.

Tags: , ,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© VB-MUNDO – Visual Basic y mucho más
CyberChimps