Recorrer cada uno de los registros de una Tabla para extrael el valor de un Campo.

He de leer cada uno de los Registros de una Tabla y en función del valor de uno de los Campos de la misma realizar un tipo diferente de Calculo.

Nombre Tabla: PRODUCTOSINCLUIDOS

Campo: Control

En función del Valor existente en el Campo Control ha de hacer una serie de Cálculos diferentes.

2 respuestas

Respuesta
2

Tienes que tener algún criterio que diferencie un(os) registro(s) de otro(s). Por ejemplo

TextoA=dlookup("control","productosincluidos","Ciudad=""Madrid""")

Es decir, búscame el valor del campo Control en aquel registro de la tabla Productosincluidos en que el campo Ciudad tenga el valor de Madrid y lo pones en el cuadro de texto TextoA

ó

If dcount("*","productosincluidos","Control=1234")=3 then

...

Es decir, si hay tres registros en la tabla Productosincluidos en que su campo Control tenga 1234 entonces haz...

Respuesta
2

Puede recorrer una tabla de 2 formas:

1. Si la tabla es el origen de datos de un formulario, se recorre clonando el formulario. Algo como:

Dim miRS AS DAO.RecordSet

Set miRS=Me.RecordsetColone

Do Until miRS.EOF()

  Select Case Me.control

     Case 1

        ......hacer x*y

      Case 2

          ........hacer x+y

       Case 3

           ..... hccer x÷y

     End Select

   miRS.MoveNext

Loop

2. Si no es el origen de datos, se puede recorrer con DAO o ADO. Ejemplo con DAO y la tabla esta en la misma base de datos.

Dim db AS Databese

Dim rs As Recordset

Set db=Currentb()

Set rs=db.openrecordset("

PRODUCTOSINCLUIDOS")

Do until rs.eof()

  Select Case rs!control

     Case 1

         hacer x*y

     Case 2

          hacer  x+y

      Case 3

          hacer x÷y

   End Select

  rs.MoveNext

Loop

Esta es una idea. Puede que tenga algún error ya que respondo desde mi móvil

Efectivamente veo un error de digitación cambie Databese por Database. Igualmente cambie Select Case rs!control por Select Case Me. control.

También hay una tercera opción utilizando SQL con la sentencia UPDATE y el campo control del formulario. Algo como:

Dim gasto_envio As Double

  Select Case Me.control

     Case 1

         gasto_envio=Me.control+1

     Case 2

          gasto_envio=Me.control+2

      Case 3

          gasto_envio=Me.control+3

   End Select

Currentdb.Execute  "UPDATE PRODUCTOSINCLUIDOS SET GastosEnvio ="  & gasto_envio 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas