Visual Basic - no actualiza correctamente bd desde flexgrid

Life is soft - evento anual de software empresarial
 
Vista:

no actualiza correctamente bd desde flexgrid

Publicado por Omar (6 intervenciones) el 01/11/2007 15:07:22
Que tal foro, estoy actualizando mi bd desde un flexgrid, pero los cambios solo me los hace en el primer registro del grid, alguien puede darme una ayudadita por fa. Por ejemplo si quiero agregar al stock de tres registros que tenga en el grid me lo agrega lo de los tres solo al primero.

Este es mi codigo:

Private Sub ModificarALMACEN()
Dim F As Integer
F = 0
For F = 1 To MSFGridReg.Rows - 1
Dim Cadena As String
Cadena = "SELECT * FROM Almacen WHERE Descripcion='" & MSFGridReg.TextMatrix(F, 6) & "'"
Next F
Conecta = App.Path & "\BDs\BdRevisa.MDB"
Set BaseDatos = OpenDatabase(Conecta)
Set Dr = BaseDatos.OpenRecordset(Cadena)
'**********************************
'**************VALIDA**************
'**********************************
Dim I As Integer
I = 0
For I = 1 To MSFGridReg.Rows - 1
Dr.Edit
Dr!Grupo = MSFGridReg.TextMatrix(I, 1)
Dr!Clave = MSFGridReg.TextMatrix(I, 5)
Dr!Descripcion = MSFGridReg.TextMatrix(I, 6)
Dr!Marca = MSFGridReg.TextMatrix(I, 3)
Dr!Presentacion = MSFGridReg.TextMatrix(I, 4)
Dr!UnidadMedida = MSFGridReg.TextMatrix(I, 7)
Dr!UnidadXPres = MSFGridReg.TextMatrix(I, 8)
Dr!Stock = Dr!Stock + Val(MSFGridReg.TextMatrix(I, 2))
Dr.Update
Next I
BaseDatos.Close
Set BaseDatos = Nothing
End Sub

Es lo que se me ocurrio y claro esta que no funciona.

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

RE:no actualiza correctamente bd desde flexgrid

Publicado por fede (189 intervenciones) el 01/11/2007 19:10:41
proba con el update despuess del next y luego cerra llaa bd
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:no actualiza correctamente bd desde flexgrid

Publicado por Omar (6 intervenciones) el 01/11/2007 20:24:54
Gracias por responder, pero ahora solo me actualiza el registro.

Que sera?
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:no actualiza correctamente bd desde flexgrid

Publicado por fede (189 intervenciones) el 02/11/2007 15:53:21
yo haria esto fijate

Conecta = App.Path & "\BDs\BdRevisa.MDB"
Set BaseDatos = OpenDatabase(Conecta)

Private Sub ModificarALMACEN()
Dim F As Integer
F = 0
For F = 1 To MSFGridReg.Rows - 1
Dim Cadena As String
Cadena = "SELECT * FROM Almacen WHERE Descripcion='" & MSFGridReg.TextMatrix(F, 6) & "'"
Set Dr = BaseDatos.OpenRecordset(Cadena)
Dr.Edit
Dr!Grupo = MSFGridReg.TextMatrix(I, 1)
Dr!Clave = MSFGridReg.TextMatrix(I, 5)
Dr!Descripcion = MSFGridReg.TextMatrix(I, 6)
Dr!Marca = MSFGridReg.TextMatrix(I, 3)
Dr!Presentacion = MSFGridReg.TextMatrix(I, 4)
Dr!UnidadMedida = MSFGridReg.TextMatrix(I, 7)
Dr!UnidadXPres = MSFGridReg.TextMatrix(I, 8)
Dr!Stock = Dr!Stock + Val(MSFGridReg.TextMatrix(I, 2))
Dr.Update

Next F
BaseDatos.Close
Set BaseDatos = Nothing
End Sub

cualquier cosa avisa ,todo bien
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:no actualiza correctamente bd desde flexgrid

Publicado por Omar (6 intervenciones) el 03/11/2007 21:14:06
Por fin lo resolvi, gracias por tu apoyo, de ja te pongo el codigo:

Private Sub ModificarALMACEN()
Dim F As Integer

For F = 1 To MSFGridReg.Rows - 1
Descrip = Trim(MSFGridReg.TextMatrix(F, 6))

Conecta = App.Path & "\BDs\BdRevisa.MDB"
Set BaseDatos = OpenDatabase(Conecta)

Cadena = "SELECT Stock FROM Almacen WHERE Descripcion='" & Descrip & "'"
Set Dr = BaseDatos.OpenRecordset(Cadena)

Do While Not Dr.EOF
Dr.Edit
Dr!Stock = Dr!Stock + Val(MSFGridReg.TextMatrix(F, 2))
Dr.Update
Dr.MoveNext
Loop
BaseDatos.Close
Set BaseDatos = Nothing
Next F
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