Visual Basic - Apertura repetitiva de tabla en base de datos Access 2003 y VB6

Life is soft - evento anual de software empresarial
   
Vista:

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.


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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Apertura repetitiva de tabla en base de datos Access 2003 y VB6

Publicado por Juan Gilberto (296 intervenciones) el 18/06/2017 17:56:38
Esta bien el codigo...

Se puede mejorar si en lugar de select ejecutas directamente un Update stock set almacen = xxxx Where codigo='" & Grid.Text & "'"

(.. la sintaxis esta erronea, obviamente, es solo para darte una idea)
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

Apertura repetitiva de tabla en base de datos Access 2003 y VB6

Publicado por josFlw (2 intervenciones) el 23/06/2017 04:48:53
Hola, Buena sugerencia, voy a intentarlo, Gracias por tu tiempo.
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