| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
benedetti Cdt

Registrado: 01 Oct 2003Mensajes: 4
|
Publicado: Lun 06 Oct, 2003 9:52 pm Asunto: multiplicacion de 2 tablas en c++ builder |
|
|
Estoy trabajando en c++ builder donde tengo una coneccion a acces a taves de ado, luego ataves de un select selecciono 2 columnas de diferentes tablas de acces , que son enviadas a un Adodataset, que a su vez son conectadas a un Dbgrid, necesito multiplicar estas 2 columnas y su resultado introducirlo a una nueva columna , para finalmente enviarla a otra tabla de acces.
Desde ya gracias |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 07 Oct, 2003 9:11 am Asunto: |
|
|
Una aclaración: ¿Celda a celda o como una matriz matemática? Me explico. No entiendo si lo que queires es multiplicar la cela A1 de la primera matriz por la A1 de la segunda y guardarlo en la A1 del resultado, etc. O bien tomar una matriz M de dimensión AxB y multiplicarla por otra N de dimensiones BxA _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Multiplicacion de tablas Invitado
|
Publicado: Mar 07 Oct, 2003 4:26 pm Asunto: |
|
|
Lo que necesito es multiplicar
C1=A1*B1
C2=A2*B2
Donde A1, A2 de la columna de la tabla1
y B1, B2 de la columna de la tabla2
Para enviarlo a una tabla C
atraves de una tquery traigo la columna de la tabla 1 y la columna de la tabla 2 a un dataset que a su vez van a un dbgrid a taves de un datasource.
Yo creo que tengo que pasar esta consulta a una matriz y ahi poder trabajar con estos valores, si me puedes ayudar te estare agradecido
desde ya gracias |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 09 Oct, 2003 3:57 pm Asunto: |
|
|
Con el ejemplo que has puesto tienes un problema: las dos tablas tienen que tener exactamente el mismo número de filas. Si el caso es que siempre sea así, no hay problema. O bien tienes alguna forma de limitar los registros que se extraen.
De todas formas, lo que quieres hacer se puede hacer con un solo query SQL, siempre que haya un campo común en ambas tablas. Supongamos una tabla 1 (Table1) con dos campos: Referencia e Importe, y una tabla 2 (Table2) con otro dos campos: Referencia y Existencias. Con un sólo query (Query1) te podría quedar así:
| Código: | Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT A.Importe, B.Existencia,");
Query1->SQL->Add(" (A.Importe * B.Existencia) Total");
Query1->SQL->Add(" FROM 'Table1' A, 'Table2' B");
Query1->SQL->Add(" WHERE A.Referncia = B.Referencia");
Query1->SQL->Add( GROUP BY A.Importe, B.Existencia");
Query1->Open(); |
Con este único query lograrás una tabla de salida con tres columnas, siendo la tercera el producto de las dos primeras. No sé si será esto lo que buscabas. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Jue 09 Oct, 2003 7:39 pm Asunto: GRACIAS |
|
|
Gracias por tu ayuda,
pero por que el query Close();
primero lo cierro y al final ago un query open (); |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
|