Consulta

Trabajo con access 2002 y quiero poner en una consulta todos los registro correspondientes a una propiedad concreta entre comas en una consulta, no como habitualmente sale, es decir como columnas ¿Cómo lo puedo hacer?

1 Respuesta

Respuesta
1
Disculpa, pero no entiendo bien tu pregunta. ¿Me puedes aclarar un poco más? O bien darme un ejemplo de lo que deseas hacer.
De esta manera te podré ayudar mejor
Por ejemplo. Para un inventario de varios almacenes (el almacén es la clave principal) tenemos distintos productos que se almacenan como registros de una columna denominada producto. Así tenemos por ejemplo, lavadoras, y en otro registro planchas, en otro registro tostadora. Ahora yo quiero que en una consulta para el almacen 1 aparezca en un registro "lavadoras, planchas, tostaroda"
No se como hacerlo
Si la consulta es para un almacén determinado, puedes construir un SQL que concatene los valores de los campos.
Dim s as string, rs as adodb.recordset
S = ?select Producto from TablaAlmacenes where IdAlmacen = 1?
Abres la tabla con esta consulta, por ejemplo con la siguiente línea:
Rs. Open s, CurrentProject. Connection, adOpenKeyset, adLockOptimistic
Y luego:
S = ??
While not rs.eof
S = rs!producto & ?, ?
Rs.movenext
Wend
Así en la variable ES tendrás todos los productos de ese almacén
Si lo quieres hacer para varios todos los almacenes, crea una tabla auxiliar en la base que llenarás con una consulta:
- Abres la tabla de almacenes con un recordset
- Para cada valor de IdAlmacen generas una consulta de productos
Ej:
Ralm. ¿Open? ¿Almacenes?
RAux. ¿Open? ¿Auxiliar?
While not RA.eof
RA.Addnew
RA!Campo1 = Ralm!Campo1 (IdAlmacen)
RA!Campo2 = Ralm!Campo2 (por ejemplo, cantidad)
..... y así con el resto de los campos
S = ?select Producto from TablaAlmacenes where IdAlmacen = ? & Ralm!Campo1
Rs.open S
S = ??
While not rs.eof
S = rs!producto & ?, ?
Rs.movenext
Wend
Rs.close
RA!producto = S
RA.Update
Ralm.movenext
Wend

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas