21 messaggi dal 04 gennaio 2005
buongiorno.
ho le seguenti sql provate e funzionanti in access:

4giri:
SELECT Giri.CodiceGara, Giri.CodiceGiocatore, Giri.Giro, Giri.NumeroColpi
FROM Giri
GROUP BY Giri.CodiceGara, Giri.CodiceGiocatore, Giri.Giro, Giri.NumeroColpi
HAVING (((Giri.CodiceGara)=17) AND ((Giri.Giro)<=4))
ORDER BY Giri.CodiceGiocatore;

4giritotale:
SELECT [4giri].CodiceGara, [4giri].CodiceGiocatore, Sum([4giri].NumeroColpi) AS SommaDiNumeroColpi
FROM 4giri
GROUP BY [4giri].CodiceGara, [4giri].CodiceGiocatore
HAVING ((([4giri].CodiceGara)=17))
ORDER BY [4giri].CodiceGiocatore;


la seconda sql riprende (come si può notare) la prima sql.

ora come la trasformo in asp??

ho provato con
SQL = " SELECT Giri.CodiceGara, Giri.CodiceGiocatore, Giri.Giro, Giri.NumeroColpi "
SQL = SQL & " FROM Giri "
SQL = SQL & " where CodiceGara = " & Request.QueryString("Cod")
SQL = SQL & " and CodiceGiocatore = '" & par("CodiceGiocatore") & "'"
SQL = SQL & " and Giri.Giro <= 4 "
SQL = SQL & " GROUP BY Giri.CodiceGara, Giri.CodiceGiocatore, Giri.Giro, giri.numerocolpi "
SQL = SQL & " ORDER BY Giri.CodiceGiocatore "

Set scostam = Server.CreateObject("ADODB.Recordset")
scostam.open SQL,Conn,3,1


SQL2 = " SELECT [scostam].CodiceGara, [scostam].CodiceGiocatore, Sum([scostam].NumeroColpi) AS Somma "
SQL2 = SQL2 & " FROM [scostam] "
SQL2 = SQL2 & " GROUP BY [scostam].CodiceGara, [scostam].CodiceGiocatore "
SQL2 = SQL2 & " HAVING ((([scostam].CodiceGara)=17)) "
SQL2 = SQL2 & " ORDER BY [scostam].CodiceGiocatore "

Set scostam2 = Server.CreateObject("ADODB.Recordset")
scostam2.open SQL2,Conn,3,1


ma purtroppo non funziona. Mi da errore:
Il modulo di gestione di database Microsoft Jet non è in grado di trovare la tabella o la query di input 'scostam'. Verificare che esista e che il nome sia stato digitato correttamente

spero possiate darmi una dritta!!

grazie mille
L'errore mi pare chiaro: la tabella "scostam" non esiste e, in effetti, nel tuo esempio di query si chiama "4giri"...

Matteo Casati
GURU4.net
21 messaggi dal 04 gennaio 2005
si, quella era una sql in access. però non voleva farla in access ma direttamente in asp. In access quella query non esiste (era solo una prova).
26 messaggi dal 01 agosto 2006
E' più che ovvio che non funziona.
[scostam] è solo la variabile che utilizzi all'interno del codice e non lo utilizzi all'interno del database, nè si crea...
La soluzione è, o costruisci una vista sul motote del database o utilizzi la seguente unica query:

SELECT [4giri].CodiceGara, [4giri].CodiceGiocatore, Sum([4giri].NumeroColpi) AS SommaDiNumeroColpi
FROM
(
SELECT Giri.CodiceGara, Giri.CodiceGiocatore, Giri.Giro, Giri.NumeroColpi
FROM Giri
GROUP BY Giri.CodiceGara, Giri.CodiceGiocatore, Giri.Giro, Giri.NumeroColpi
HAVING (((Giri.CodiceGara)=17) AND ((Giri.Giro)<=4))
)as 4giri
GROUP BY [4giri].CodiceGara, [4giri].CodiceGiocatore
HAVING ((([4giri].CodiceGara)=17))
ORDER BY [4giri].CodiceGiocatore;

Questa unica query riassume le due query che hai indicato.

Ciao!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.