Apertura repetitiva de tabla en base de datos Access 2003 y VB6
Publicado por JosFlw (2 intervenciones) el 17/06/2017 23:27:25
Hola, quisiera saber si alguin me puede ayudar con el suiguiente codigo en VB6:
Lo que hace es leer de las celdas de un MSFlexGrid (Grid) la columna1 (Col1) que es el articulo que va a buscar en la Tabla Stock (access 2003) para posteriormente descontar del campo "almacen" de dicha tabla la cantidad de articulos indicados en la columna2 (Col2) del Grid (MSFlexGrid).
El codigo funciona bien, realiza su trabajo, pero el problema es que cuando son varias filas las que tiene que leer del Grid (porque son varios articulos), el codigo abre en cada lectura de una nueva fila del Grid la Tabla "Stock", de manera que sin son 50 filas para leer del Grid la tabla Stock se abrirá 50 veces.
La pregunta es: Como puedo hacer que la tabla Stock se abra solo una vez para que se registren los cambios en ella (50 filas) en un solo "acto" y sin tener que abrirla por cada fila?
Ya he intentado colocar la intruccion: OpenRS "select * from stock where codigo='" & Grid.Text & "'"
en varias posiciones y he hecho varias modificaciones pero no ha resultado, soy principiante y entusiasta pero no tengo grandes conocimientos de VB6, por favor si alguien puede apoyarme.
Agradesco de antemano su ayuda con esto.
Lo que hace es leer de las celdas de un MSFlexGrid (Grid) la columna1 (Col1) que es el articulo que va a buscar en la Tabla Stock (access 2003) para posteriormente descontar del campo "almacen" de dicha tabla la cantidad de articulos indicados en la columna2 (Col2) del Grid (MSFlexGrid).
El codigo funciona bien, realiza su trabajo, pero el problema es que cuando son varias filas las que tiene que leer del Grid (porque son varios articulos), el codigo abre en cada lectura de una nueva fila del Grid la Tabla "Stock", de manera que sin son 50 filas para leer del Grid la tabla Stock se abrirá 50 veces.
La pregunta es: Como puedo hacer que la tabla Stock se abra solo una vez para que se registren los cambios en ella (50 filas) en un solo "acto" y sin tener que abrirla por cada fila?
Ya he intentado colocar la intruccion: OpenRS "select * from stock where codigo='" & Grid.Text & "'"
en varias posiciones y he hecho varias modificaciones pero no ha resultado, soy principiante y entusiasta pero no tengo grandes conocimientos de VB6, por favor si alguien puede apoyarme.
Agradesco de antemano su ayuda con esto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub RegistroSTOCK()
Dim Stock1
For Stock1 = 1 To Grid.Rows - 1
Grid.Row = Stock1
Grid.Col = 1
OpenRS "select * from stock where codigo='" & Grid.Text & "'"
RS.Edit
Grid.Col = 2
RS!almacen = RS!almacen - Val(Grid.Text)
RS.Update
Next
End Sub
Valora esta pregunta


0