Visual Basic - MODIFICAR UN SOLO CAMPO DE UNA TABLA EN TODOS LOS REGISTROS

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Oscar

MODIFICAR UN SOLO CAMPO DE UNA TABLA EN TODOS LOS REGISTROS

Publicado por Oscar (1 intervención) el 07/05/2024 22:10:50
Buenas tardes, mi problema es el siguiente:

Quisiera modificar (mediante un solo paso) un único campo de una tabla especifica para todos los registros.

Tengo una Tabla en mi base de datos llamada PRODUCTOS, Allí guardo toda la información de estos (Código, Descripción, Stock, Precio, Etc.), pero me gustaría saber como modificar un solo campo (por ejemplo, cambiar el PRECIO de todos los registros mediante una sola acción). Actualmente lo hago en forma manual, es decir, añado producto por producto en una nueva grilla a una tabla en mi base de datos que nombre PRODUCTOSTEMPORAL mediante el siguiente codigo:

With RsProductosTemporal
.Requery
.AddNew
!CodigoProducto = LblCodigoProducto.Caption
!Referencia = TxtReferencia.Text
!Descripcion = TxtDescripcion.Text
!Precio_Producto= CDbl(TxtPrecio.Text)
!Stock = TxtStock.Text
!Stock_Minimo = Val(TxtMinimo.Text)
!Reponer = Val(TxtReponer.Text)
!Foto1 = TxtFoto1.Text
!Foto2 = TxtFoto2.Text
!Foto3 = TxtFoto3.Text
!CostoPromedio = CDbl(TxtCosto.Text)
!Marca = LblCodigoMarca.Caption
!Clasificacion = LblCodigoClasificacion.Caption
!Proveedor = LblCodigoProveedor.Caption
!VentaMensual = Val(TxtVentaMensual.Text)

.Update
.Requery

End With

AdoModificar.RecordSource = "Select * From TablaProductosTemporal Order By [Descripcion],[Referencia]"
Set GrillaModificar.DataSource = RsProductosTemporal
FormatoGrillaProductosTemporal





Y luego grabo la informacion a mi tabla PRODUCTOS:


Dim RegistrosDatos As Integer
RegistrosDatos = RsProductosTemporal.RecordCount
RsProductosTemporal.Requery
RsProductosTemporal.MoveFirst
For X = 1 To RegistrosDatos

With RsProductos
.Requery
.Find "Codigo='" & Trim(GrillaModificar.Columns(0).Text) & "'"
!Precio_Producto = CDbl(GrillaModificar.Columns(4).Text)

.UpdateBatch
End With

If X = RegistrosDatos Then Else RsProductosTemporal.MoveNext
Next




Asi me funciona bien, pero queria saber si hay una forma de hacerlo automaticamente, es decir, que con un CommandButton (u otra opcion) se puedan agregar todos los productos de un DataGrid1 a un DataGrid2 y desde alli hacer las modificaciones.

O cualquier otra idea que se les ocurra.

Muchos les agradeceria lo que puedan hacer por mi ya que estoy aprendiento por tutoriales y foros.

Saludos
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