Error en TRANSFORM

El problema que tengo es que trato de ejecutar un TRANSFORM en una tabla sql y me marca error en la tabla o en la función agregada, he probado difersas formas y no hay caso, el código es el siguiente, ah... Lo hago desde VB6 con sql7 y sql2000 (marca el mismo error
Dim cmdpr As New ADODB.Command
Dim rspr As New ADODB.Recordset
cmdpr.ActiveConnection = "DSN=CENTRAL;UID=CENTRAL;PWD=CENTRAL"
cmdpr.CommandText = "TRANSFORM " & _
"sum(tabla.campo) " & _
"SELECT campo FROM tabla " & _
"GROUP BY campo PIVOT tabla.campo "
cmdpr.CommandType = adCmdText
Set rspr = cmdpr.Execute()
Rspr. Close

1 Respuesta

Respuesta
1
Checa tu versión del MDAC_TYP, tienes que tener el microsoft activex dataobjects 2.5 o superior para que puedas trabajar en forma correcta con sql server 2000.
Esta la version que indicas... ah hice una pruebas en access y no me marca error...(VBA)
Pero que olvido de mi parte, el sql de access tiene otras características que no se soportan en otros manejadores de bases de datos, ejemplo, TRANSFORM, es particular de access y no de sql server. Checa lo que quieres hacer porque el PIVOT se utiliza preponderantemente con cubos y algunas otras cosas.
Te explico lo que deseo realizar, necesito sumar las ventas por cada tipo de documentos emitidos mensualmente, y es justamente TRANSFORM la que me obtiene el resultado en forma más confiable y rápida, donde sume VALOR para cada DOCTO y que lo muestre para cada mes.. de que otra forma lo puedo obtener sin tener que "recorrer" la base a través de un bucle pues esta tiene demasiados registros y el calculo se demora... Me podrías explicar un poco más la parte del PIVOT pues no me queda claro..
Necesitaría la estructura de tu tabla para codificar mejor, pero haremos el intento. Puede ser algo como lo siguiente;
select sum(importe) from mitabla where mifecha between "20020101" and "20020131" group by midocumento
Lo anterior te trae de la base de datos todas las sumas de los registros declarados por tipo de documento como indicas, suma y trae el valor, por eso se utiliza la clausula group by, checa si te sirve implementando esto en tus datos.
La parte del PIVOT es para trabajar con cubos de información relacionados con el datawarehouse, si quieres administrar y tomar procedimientos de explotación de información a nivel gerencial y de diferentes contextos, un rollo muy amplio y largo de explicar,
Por otro lado, si trabajas con sql server, te puedes bajar los libros de ayuda gratuituos que encuentras en la página de microsoft.com, en el apartado de actualizaciones de sql server 2000, ahí se encuentra un archivo que te instala toda la ayuda en línea de sql server, checala están muy bien explicados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas