Como extraer datos de una tabla, procesarlos y guardarlos en otra tabla sin errores
He creado un código para calcular el retraso medio de los pedidos. Cuándo visualizo los datos en la ventana de inmediato son correctos, sin embargo, el valor que se inserta en las tablas es 0.
He utilizado códigos muy similares para otros cálculos y traspasos de información en otros módulos de la aplicación y siempre ha funcionado bien, por tanto, no entiendo porque en este módulo no funciona.
La variable “Numped” es publica, por eso no aparece declarada en este código.
El código es:
Sub retmed() Dim inst9 As String Dim ins9 As String Dim instr9 As String Dim mc9 As New Connection Set mc9 = CurrentProject.Connection Dim mr9 As New Recordset Dim ret1 As Byte Dim retmed As Byte inst9 = "SELECT Tabla1.num_pedido, Tabla1.Retraso, Count(Tabla1.Retraso) AS CuentaDeRetraso INTO tRet " _ & "FROM Tabla1 GROUP BY Tabla1.num_pedido, Tabla1.Retraso HAVING Tabla1.num_pedido>0;" CurrentDb.Execute inst9 ins9 = "SELECT tRet.Retraso, Sum(tRet.CuentaDeRetraso) AS sumret " _ & "FROM tRet GROUP BY tRet.Retraso;" mr9.Open ins9, mc9 instr9 = "INSERT INTO Tabla2 (num_pedido,retraso,ret_med) values (" & numped & "," & ret1 & "," & retmed & ")" While mr9.EOF = False ret1 = mr9!retraso retmed = mr9!sumret / numped Debug.Print numped & " - Retraso: " & ret1 & " Suma: " & mr9!sumret & " - Media: " & retmed CurrentDb. Execute instr9 mr9.MoveNext Wend mr9.Close Set mr9 = Nothing mc9.Close Set mc9 = Nothing CurrentDb.Execute "DROP TABLE [tret];" End Sub
Lo dicho, con debug.print aparecen los datos correctos, pero al ejecutar la instrucción "instr9" se traspasa el valor correcto de la variable "Numped", pero el valor que se traspasa de las variables "ret1" y "retmed" es 0, cuando su valor real es otro.
¿Alguien podría orientarme porque sucede esto?
Agradeciendo de antemano cualquier ayuda que pueda recibir,
un saludo.