También podrías tener una clase MyPivotTable
a) método Agregar(pArticulo,pTalle,pCantidad)
- se encarga de buscar primero por pArtículo en la hash interna
- luego busca si ya existe pTalle, si no existe lo crea (para todos los
artículos).
- luego sumariza pCantidad
b) método Obtener()
- devuelve la matriz
para cada artículo
para cada talle
informar la cantidad
- puede devolver una matriz o un recordset o un array de objetos, según se
necesite.
Pero esto ya tiene que existir en algún lado (tal vez PivotTables en Excel)
Pata.
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Juan Jose
Costello Levien
Enviado el: miércoles, 22 de agosto de 2007 22:22
Para: vbusers List Member
Asunto: [vbusers] Consulta de referencia cruzadas
Hola,
Yo desde PostgreSQL usaría vectores bidimensionales. Generaría una tabla
temporal con los resultados de la consulta, y guardaría los datos en un
vector, digamos así:
CREATE TABLE temp ( matriz[][] );
luego cargaría la matriz con INSERTS a partir de la tabla que Esteban
planteó.
De esa forma dejaría al motor que lidie con la tarea de trasponer la tabla.
Saludos.
Juan
On 8/22/07, Daniel Calvin <[EMAIL PROTECTED]> wrote:
Hola Carlos
Participo de las listas del MUG desde hace muchos años, no hace falta que me
expliques el espiritu de la la lista.
Parte del ejemplo lo escribi en tres lineas, si el que pregunto no le es
suficiente, el mismo puede pedir que amplie la respuesta.
Tambien vos o cualquiera puede hacerlo, me parece que una forma es pedirlo
en forma cordial y otra es escribir:
>>>>Si zse puede es justamente lo que el compañero esta necesitando...
De hecho pro lo que dice Esteban sabe escribir perfectamente una consulta de
ref. cruzadas en access.
Por la noche tendras el ejemplo, repito, espero que por lo menos lo mires.
>>>>> Lo que quise decir es que no lo va a poder resolver eso mediante
consulta desde
El espiritu de las listas tambien es responder sobre lo que uno esta seguro
y no asegurar que no se puede como lo hiciste si es como mencionas que es un
conocimeinto que no posees.
Te invito a la reflección.....
Gracias
Daniel
El día 22/08/07, Carlos Bernardo Maggiotti <
<mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]> escribió:
No es para mi, ante todo es para la persona que pregunta. Creo que ese es el
espiritu de un foro.
Una cosa es decir "Arma la consulta y listo" y otra es mandarle una pequeña
solucion para que la otra persona digiera bien el conocimiento que no posee
(me incluyo).
Saludos
_____
Date: Wed, 22 Aug 2007 17:02:12 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [vbusers] Consulta de referencia cruzadas
Por la noche lo mando, espero que al menos lo bajes, lo compiles y ejecutes.
De hecho podrías escribirlo vos, solo tenes que crear la base, una tabla, la
consulta y abrir un recordset que te traiga los registros que retorna la
consulta.
Lo mando luego
Daniel Calvin
El día 22/08/07, Carlos Bernardo Maggiotti <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > escribió:
Bueno... Si zse puede es justamente lo que el compañero esta necesitando...
Porque no mandas el codigo de ejemplo...?
_____
Date: Wed, 22 Aug 2007 16:50:20 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [vbusers] Consulta de referencia cruzadas
Hola Carlos
>>>>> Lo que quise decir es que no lo va a poder resolver eso mediante
consulta desde el motor, menos desde el Access.
Si se puede desde Visual Basic utilizando una base Access, funciona
perfectamente.
Dim r as new adodb.recordset
r.open "Select * from miConsultaDeRefCruzadas", miConnection
Eso funciona, es mas, podes definir parametros en la consulta y utilizar un
objeto command.
Lo uso bastante y funciona.
Es mas si queres pega el codigo sql de la consulta en una string y listop.
Saludos
Daniel Calvin
El día 22/08/07, Carlos Bernardo Maggiotti <[EMAIL PROTECTED]>
escribió:
Se entendio perfectamente. Quiza me expresé mal.
Lo que quise decir es que no lo va a poder resolver eso mediante consulta
desde el motor, menos desde el Access. Y que no siendo Sql 2005 la solucion
a este tipo de problemas es mediante codigo en la App...
Saludos cordiales
CarlosMag
_____
Date: Wed, 22 Aug 2007 16:39:15 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [vbusers] Consulta de referencia cruzadas
Hola Carlos
No dice que este en SQL, entiendo que la base es access, si es asi con solo
armar la consulta, abre un recordset y listop.
Esteban, con que base de datos estas trabajando?
Saludos
Daniel
El día 22/08/07, Carlos Bernardo Maggiotti <[EMAIL PROTECTED]>
escribió:
Claro, pero lo que el esta necesitando es Pivotear la tabla.
Lo vas a tener que resolver via codigo... En Sql 2005 recien se implemento
algo asi para lograr eso (PIVOT TABLE).
Para atrás es solo codigo.
Saludos y espero que te sriva...
CarlosMag
_____
Date: Wed, 22 Aug 2007 16:29:41 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [vbusers] Consulta de referencia cruzadas
Hola Esteban
Simplemente arma una consulta en access y levantala con un recordset.
Saludos
Daniel Calvin
El día 22/08/07, Listas Mug <[EMAIL PROTECTED]> escribió:
Hola listeros
Tengo que hacer una consulta de referencias cruzadas en Visual,
alguien tiene idea como hacerla???
Tengo los siguientes datos
Articulo talle cantidad
1000 40 1
1000 41 2
1001 39 1
1001 38 3
Y tengo que llegar a esto:
Artículo 38 39 40
41
1000 1
2
1001 3 1
Esto se puede hacer en access, pero no le encuentro la vuelta en visual
Desde ya muchas gracias
Saludos, Esteban
>
> Desde ya muchas gracias
> Saludos, ESteban
>
>
>
_____
Comunícate al instante con Windows Live Messenger Windows Live
<http://imagine-msn.com/messenger/launch80/default.aspx?locale=es-us&source=
joinmsncom/messenger> Messenger