Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Pasar datos de una grilla a base de datos

Estas en el tema de Pasar datos de una grilla a base de datos en el foro de Visual Basic clásico en Foros del Web. Hola a todos, yo en mi formulario tengo la siguiente grilla: Código: With fgDetalles .Clear .Rows = 1 .Cols = 5 .TextMatrix(0, 0) = "idArticulo" ...
  #1 (permalink)  
Antiguo 13/09/2008, 10:31
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Pasar datos de una grilla a base de datos

Hola a todos, yo en mi formulario tengo la siguiente grilla:

Código:
  With fgDetalles
    .Clear
    .Rows = 1
    .Cols = 5
    .TextMatrix(0, 0) = "idArticulo"
    .ColWidth(0) = 0
    .TextMatrix(0, 1) = "Articulo"
    .ColWidth(1) = 2000
    .TextMatrix(0, 2) = "Cantidad"
    .ColWidth(2) = 500
    .TextMatrix(0, 3) = "$ Unit."
    .ColWidth(3) = 1000
    .TextMatrix(0, 4) = "$ Detalle"
    .ColWidth(4) = 1000
    End With

Con unos campos de texto y un boton agregar le agrego datos a la grilla.

Boton agregar:
Código:
fgdetalles.AddItem cmbArticulo.ItemData(cmbArticulo.ListIndex) & vbTab & cmbArticulo & vbTab & txtCantidad & vbTab & txtMontoUnitario & vbTab & txtMontodetalle
Siendo fgdetalles el nombre de la grilla.


Lo que yo quiero lograr es que al hacer clic en otro boton por ejemplo el boton "aceptar" los datos que estan temporalmente en la grilla se copien en una base de datos, sabiendo ya que tengo la conexión a la base de datos y todo eso, ¿Como seria la sintaxis del codigo para agregar los datos que estan temporalmente en la grilla a la base de de datos?


Muchisimas gracias
  #2 (permalink)  
Antiguo 14/09/2008, 04:10
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Pasar datos de una grilla a base de datos

Cita:
Iniciado por manumaf Ver Mensaje
Hola a todos, yo en mi formulario tengo la siguiente grilla:

Código:
  With fgDetalles
    .Clear
    .Rows = 1
    .Cols = 5
    .TextMatrix(0, 0) = "idArticulo"
    .ColWidth(0) = 0
    .TextMatrix(0, 1) = "Articulo"
    .ColWidth(1) = 2000
    .TextMatrix(0, 2) = "Cantidad"
    .ColWidth(2) = 500
    .TextMatrix(0, 3) = "$ Unit."
    .ColWidth(3) = 1000
    .TextMatrix(0, 4) = "$ Detalle"
    .ColWidth(4) = 1000
    End With

Con unos campos de texto y un boton agregar le agrego datos a la grilla.

Boton agregar:
Código:
fgdetalles.AddItem cmbArticulo.ItemData(cmbArticulo.ListIndex) & vbTab & cmbArticulo & vbTab & txtCantidad & vbTab & txtMontoUnitario & vbTab & txtMontodetalle
Siendo fgdetalles el nombre de la grilla.


Lo que yo quiero lograr es que al hacer clic en otro boton por ejemplo el boton "aceptar" los datos que estan temporalmente en la grilla se copien en una base de datos, sabiendo ya que tengo la conexión a la base de datos y todo eso, ¿Como seria la sintaxis del codigo para agregar los datos que estan temporalmente en la grilla a la base de de datos?


Muchisimas gracias
Hola, una forma podría ser esta

Código:
Private Sub cmdGuardar_Click()
Dim i As Integer, sql As String

With fgDetalles
    For i = 1 To .Rows - 1
        sql = "INSERT INTO LaTabla VALUES(" & _
        "" & .TextMatrix(i, 0) & ",'" & .TextMatrix(i, 1) & "'," & .TextMatrix(i, 2) & "," & _
        "" & .TextMatrix(i, 3) & "," & .TextMatrix(i, 4) & ")"
        cn.Execute sql
    Next i
End With
MsgBox "Datos guardados"
End Sub
(sustituye lo marcado en rojo por el nombre de tu tabla y conexión)

Nota: Suponemos que todos los campos son numéricos, excepto el campo 'Articulo' y también que la tabla tiene los mismos campos que los valores, si no es así, deberás declarar los campos:

INSERT INTO LaTabla (Campo1, Campo2...) VALUES(Variable1, Variable2...)

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.