Recorrer las líneas de un Formulario continuo

Tengo un Formulario Continuo que he de recorrer cada una de sus Líneas para realizar cálculos.

Utilizo esta secuencia:

DoCmd. GoToRecord,, acFirst
For i = 1 To Me.Recordset.RecordCount
Call CALCULARCOEFICIENTES
DoCmd.GoToRecord , , acNext
Next

La llamada al CALL me funciona bien y me recorre cada una de las lineas del Form. Princial si alli NO abro otros formularios para extraer datos para el calculo.

En el momento que dentro del CALL llamo a otros Forms. La rutina se queda sin avanzar del primera línea del Form. Continuo.

2 respuestas

Respuesta
1

Convendría saber cual es la instrucción o instrucciones que tiene la función Calcular coeficientes y que tipo de operaciones tiene que hacer el formulario ese que dices que abres. Te lo digo porque quizá no sea necesario mostrarlo. Por ejemplo, supongamos que tengo una tabla Productos

Fíjate en el precio de los tres primeros. Con ella hago un formulario, da igual único o continuo, yo por comodidad lo he puesto único

También tengo el formulario Copia basado en la tabla del mismo nombre, con un campo Precio y un botón

Cuando pulso el botón

En este caso, ya que no sé que cálculos debe hacer, el código del botón es

Private Sub Comando10_Click()
Dim i As Byte
DoCmd.GoToRecord , , acFirst
For i = 1 To Me.Recordset.RecordCount
DoCmd.OpenForm "productos", , , "idproducto=" & Me.IdCliente & "", , acHidden
DoCmd.Close acForm, "productos"
DoCmd.GoToRecord , , acNext
Next
End Sub

Y En el evento al Activar el registro del formulario Productos le tengo puesto

Private Sub Form_Current()
Forms!Copia!Precio = Precio
End Sub

Es decir, vete al primer registro y ábreme el formulario Productos, de manera oculta, en aquel registro en que.... 

Y como el registro Productos, sólo se abre en un único registro, le pasa al control Precio del formulario Copia el valor que en ese momento figura en el control. Luego lo cierra, y se va al siguiente registro del formulario Copia y se repite el proceso.

Respuesta
1

He notado cuando se clona un formulario y Access debe abrir otro formulario que tenga subformularios para extraer datos no continúa del primer registro que hizo la llamada, parece un problema de punteros.

Sería bueno adicionara el código de la llamada Call CALCULARCOEFICIENTES, para analizarlo

Pueda que la respuesta del genio le sirva.

Se me olvidó comentarle lo que le explican NO es funcional nunca se deben hacer las actualizaciones desde formularios, para esto se localiza en la tabla el articulo o cliente y guardamos si es el caso el valor para hacer un UDPATE sobre otra tabla. Y como dice el sabio "hay mil formas".

El código del CALL es algo largo ya que son varios los cálculos que realiza por cada uno de los precios que ha de calcular.

Es una calculo que realiza los pre-cálculos que después ha de multiplicar por el contenido que extrae en la Apertura de 7 Formularios ya que estos contienen el factor a calcular.

¿

Habría otra manera de poderlo enviar?

Puede enviarlo en un archivo texto a [email protected].  Favor en el asunto anotar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas