Access - consulta

   
Vista:

consulta

Publicado por Abraham (2 intervenciones) el 05/12/2007 19:58:56
Tengo una tabla con los sig campos:
cve (entero)
nomart (cadena)
precio (entero)
invent (entero)

Lo q necesito es q una consulta me devuelva segun el contenido del campo invent me lo repita n veces. esto lo quiero para un informe. Ej. si la clave 5454 tiene en el campo invent=3 entonces en el informe me tiene q salir 3 veces impresa. Urge alguien q me pueda ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:consulta

Publicado por Victoria (1530 intervenciones) el 06/12/2007 12:32:21
Hola:

Una posible solución sería pasar los datos a una NUEVA tabla que sería el origen de datos de tu informe.

Tendrías que crear un bucle para leer el campo INVENT y según su valor, añadir N registros a la nueva tabla.

No olvides BORRAR el contenido de esta tabla NUEVA ANTES de ejecutar el bucle

El código lo podrías situar en el botón que te ABRE el informe.

Un código ejemplo:

Private Sub Comando0_Click()
Dim mRa As Recordset
Dim I As Integer
Set mRa = CurrentDb.OpenRecordset("SELECT * FROM TABLA2")

mRa.MoveLast
mRa.MoveFirst

CurrentDb.Execute "DELETE * FROM tabla2AUXILIAR"

Do While Not mRa.EOF
If mRa!INVENT > 0 Then
For I = 1 To mRa!INVENT
CurrentDb.Execute "INSERT INTO tabla2AUXILIAR (NOMBRE) VALUES ('" & mRa!nombre & "')"
Next
mRa.MoveNext
End If
Loop

mRa.Close
End Sub

Siendo TABLA2 el nombre de la tabla ORIGINAL y tabla2AUXILIAR el origen de los datos del informe. NOMBRE es el nombre que le he dado al campo

Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar