Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2004, 16:18
Avatar de aavg
aavg
 
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 años, 7 meses
Puntos: 1
Ayuda Agrupando Bd

Tengo una agrupacion a una base de datos de 43,000 registros y tarda cerca de 40 segundos en regresarme una agrupacion por dos campos.

Estoy generando en VBasic un QueryDef primeramente con mi consulta:

Set QDF = glbBaseDeDatosAsignada.CreateQueryDef("QueryGroupR eport", CadSql)
QDF.Close

Para despues crear un Shape y que me regrese los registros agrupados:

AdoRst.Open ("SHAPE {SELECT * FROM QueryGroupReport} AS Command1 COMPUTE Command1 BY " & Camp12), Cnn, adUseClient, adLockReadOnly

Donde QueryGroupReport con tiene la cadena "SELECT campos FROM tabla", Cnn es mi conexion y Camp12 contiene el o los campos por los que voy a agrupar

Trate tambien de hacer la agrupacion utilizando la instruccion GROUP BY pero me marca errores.. por ejemplo

Si utilizo el siguiente codigo


Cade = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\Base 3 campos.mdb"
CnnEjemplo.ConnectionString = Cade
CnnEjemplo.Open

With RstEjemplo
.ActiveConnection = CnnEjemplo
.CursorLocation = adUseClient
.LockType = adLockReadOnly
End With

RstEjemplo.Open "Select Indice, Empresa, RubPrincipal from Totales GROUP BY RubPrincipal"


Me marca que "Ha intentado ejecutar una consulta que no incluye la expresion especificada 'Indice' como una parte de una funcion de agregado"


Ojala me pudieran ayudar para saber como acelerar el tiempo que tardan en generarse mis agrupaciones (tomando en cuenta que puede ser cualquier base de datos por lo cual no podria generar ningun tipo de indice)

Muchas gracias por sus amables respuestas.
__________________
Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres