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 de blabre
1
1
blabre, Trabajo en enseñanza de matemática y programación hace muchos años
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