Problema con codigo para dismunuir Stock |
Responder |
Autor | |
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Opciones de entrada
Gracias(0)
Enviado: 28/Mayo/2023 a las 20:28 |
Hola. Tengo un código que utilizo desde un formulario que luego de cargados los datos en el formulario principal (datos del cliente, etc) paso al Subformulario para cargar el "Codigo", "Producto" y "Precio" hasta ahi todo bien, luego tengo un boton Guardar cuyo codigo es: Private Sub Guardar_Click() Dim rs As Recordset Set rs = Me!OrdenDeTrabajoSUB.Form.RecordsetClone rs.MoveFirst Do Until rs.EOF ' Obtener el código del producto Dim Codigo As String Codigo = rs("Codigo") ' Actualizar la tabla DisminuirStock para el producto DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE DisminuirStock SET DisminuirStock.CantVentas = [tbSalidas]![CantVentas]-" & rs("Cantidad") & " WHERE (((DisminuirStock.Id)='" & Codigo & "'));" DoCmd.SetWarnings True rs.MoveNext Loop rs.Close Set rs = Nothing End Sub Cabe aclarar que tengo una consulta llamada "DisminuirStock" que es la que menciona el codigo y cuya SQL es: SELECT tbProductos.Id, tbSalidas.CantVentas, tbSalidas.FechaModif FROM tbProductos LEFT JOIN tbSalidas ON tbProductos.Id = tbSalidas.Id_Venta; El problema es que funcionaba perfectamente, recorria los productos cargados e iba descontando del stock los productos cargados, el problema es que ha dejado de funcionar, me da el siguiente error: "Se ha producido el error 13 en tiempo de ejecucion, no coinciden los tipos y se me marca en amarillo la siguiente linea: Set rs = Me!OrdenDeTrabajoSUB.Form.RecordsetClone Sinceramente lo expongo en el foro porque me tiene loco, no se que lo puede estar causando, teniendo en cuenta que funcionaba correctamente. Saludos
|
|
-------Maxpro-------
San Luis - Argentina |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Opciones de entrada
Gracias(0)
|
Hola bueno, despues de darle mil vueltas y escribir uno que otro y siempre frustracion, logre que vuelva a funcionar, por si a alguien le sirve. el nuevo codigo es: Private Sub Guardar_Click() Dim rs As DAO.Recordset Set rs = Me![OrdenDeTrabajoSub].Form.RecordsetClone rs.MoveFirst Do Until rs.EOF ' Obtener el código del producto Dim Codigo As String Codigo = rs("Codigo") ' Actualizar la tabla DisminuirStock para el producto actual Dim strSQL As String strSQL = "UPDATE DisminuirStock SET DisminuirStock.CantVentas = DisminuirStock.CantVentas - " & rs("Cantidad") & " WHERE DisminuirStock.Id = '" & Codigo & "'" CurrentDb.Execute strSQL rs.MoveNext Loop rs.Close Set rs = Nothing End Sub Ya se puede cerrar el hilo Saludos
|
|
-------Maxpro-------
San Luis - Argentina |
|
javier.mil
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4830 |
Opciones de entrada
Gracias(0)
|
Hola Carlos ! El campo de STOCK es un campo que debería ser calculado y No guardar el dato del stock en una Tabla ya que: STOCK = + ENTRADAS - SALIDAS - PERDIDAS - MERMAS Entiendo que muchas veces por rapidez de calculo del programa sea conveniente guardar ese dato en una Tabla , peroooo quizás es algo que deberías considerar, valorar y tener en cuenta ya que evitarías muchos errores de stock Saludos Editado por javier.mil - 29/Mayo/2023 a las 18:19 |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Opciones de entrada
Gracias(0)
|
Hola Javier. Lo hago lo mas simple y efectivo posible. Tengo un Form "Productos" (naturalmente aqui va todo lo relacionado a productos que el cliente va armando en una hoja de excel y luego lo va importando). Tengo 2 Subform. "Entradas" (esto se maneja manualmente a medida que van comprando) y "Salidas" que aqui es donde entra el codigo. El codigo simplemente debe agregar la cantidad de productos vendidos, luego de elegir todos los productos vendidos, da click a un boton y se ejecuta el codigo que va agregando al Subform. "Salidas" la cantidad vendida, a cada producto le va agragando la cantidad que figura en "Cantidad" en base al codigo del producto que esta en el campo "Codigo". esto con una consulta "DismunuirStock" donde estan los campos que me interesan de la tabla "Salidas" Parece media engorrosa la explicación pero la funcionalidad es muy simple, tu mención de PERDIDAS y MERMAS no aplicaria en este caso, quizas en otra clase de productos si como comestibles por ejemplo. Igual gracias porque siempre aportas algo para ayudar. Saludos EDITO: para corregir errores ortograficos
Editado por maxpro - 29/Mayo/2023 a las 21:37 |
|
-------Maxpro-------
San Luis - Argentina |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |