Ingresar e actualizar varios registros access

Cerrado
rvean Mensajes enviados 2 Fecha de inscripción sábado, 3 de diciembre de 2011 Estatus Miembro Última intervención domingo, 4 de diciembre de 2011 - 3 dic 2011 a las 17:56
dark_zen Mensajes enviados 152 Fecha de inscripción lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 - 5 dic 2011 a las 16:48
tengo una formulario llamado facturas con un subformulario dentro llamado subform y dentro de este tengo registros de nombres y de cantidad y precio.
cree un botón con el siguiente código que actiliza la cantidad del nombre en otra tabla llamada tblproductos y también inserta nombre,cantiad y precio en otra tabla llamada
tblcompras
SQL = "UPDATE tblproductos SET tblproductos.existencia=tblproductos.existencia+" & Me.subform.form.cantidad.Value & " WHERE tblproductos.idproducto = " & Me.subform.Form.idproducto.Value & " "
DoCmd.RunSQL SQL, False
SQL1 = "INSERT INTO tblcompras(nombre,cantidad,precio) values (" & Me.subform.Form.idproducto.Value & "," & Me.subform.Form.cantidad.Value & "," & Me.subform.Form.precio.Value & ")"
DoCmd.RunSQL SQL1, False
End Sub
Mi problema es que solo el código funciona para un registro del formulario, para 2 o mas ya no se como se hace, agradecería mucho su ayuda
Consulta también:

1 respuesta

dark_zen Mensajes enviados 152 Fecha de inscripción lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
4 dic 2011 a las 14:54
Con un FOR que recorra los datos de tu "subform" Nº veces y luego actualizar tu stock y registrar la compra.


bueno no as dicho que lenguaje de programacion estas trabajando y que version!
2
rvean Mensajes enviados 2 Fecha de inscripción sábado, 3 de diciembre de 2011 Estatus Miembro Última intervención domingo, 4 de diciembre de 2011
4 dic 2011 a las 15:22
Hola, gracias por tu respuesta, si estoy usando el vb en access, no podrías ayudarme un poco con el código? es que no soy muy bueno esto
0
dark_zen Mensajes enviados 152 Fecha de inscripción lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
4 dic 2011 a las 23:40
vba de access?

nunca lo e usado pero debe de ser igual a cualkier VB...
--------------------
Hola:

¿Lo quieres hacer por código?...

Necesitas en una variable tipo recordset, para mandar la consulta o la tabla... ahora hay que "refrescar", para saber cuantos registros hay se utiliza la propiedad recordcount de la variable... miramos un ejemplo sencillo...

********************
Dim MiReg as Dao.recordset

sql = "select * from MiTabla;"
Set Mireg = Currentdb.Openrecordset(sql)

if MiReg.RecordCount > 0 then
miReg.MoveLast
MiReg.MoveFirst

for i=1 to MiReg.RecordCount
'Codigo para procesar
MiReg.MoveNext
next i
end if
*************************

El anterior es un ejemplo sencillo... de llenado de recordset con una consulta sql, pero igualla puedeshacer con una tabla...

la variobale recordset se debe "setear". Aunque en realidad se llama poblar....

Set Mireg = Currentdb.Openrecordset(sql)

Debemos preguntar SI HAY REGISTROS, OSEA SI LACANTIDAD DE REGISTROS ES MAYOR A CERO..

if MiReg.RecordCount > 0 then
miReg.MoveLast
MiReg.MoveFirst


Se debe mover al ultimo (MoveLast) y luego alprimero (MoveFirst) para que el programa "sepa" cuantos registros hay en realidad, si NO SE HACE ESTE PASO.. lapropiedad recordcount devolverá siempre 1 así hayan 100...

Recorremos TODOS LOS REGISTROS CON UN FOR... así siempre "sabra" cual es el ultimo...

for i=1 to MiReg.RecordCount
'Código para procesar
MiReg.MoveNext
next i
end if


El movenext.. es para pasar al siguiente registro... sino puede recorrer los 10 o 100 registros que hayan pero siempre parado en elprimero, entonces hay que moverlos con movenext...

FUENTE:
https://www.todoexpertos.com/categorias/tecnologia-e-internet/bases-de-datos/microsoft-access/respuestas/1481690/necesito-ayuda-con-un-boton-de-formulario-para-recorrer-una-tabla-en-microsoft-access
0