ogni campo che aggiungi alla SELECT deve avere una corrispondenza nella GROUP BY
ogni campo che aggiungi alla SELECT deve avere una corrispondenza nella GROUP BY
urca...
spero questo non mi incasini il resto
procedo passo passo...
perché, per il momento, alla stampa della pagina si presenta sempre questo errore:
Item cannot be found in the collection corresponding to the requested name or ordinal.
sebbene il campo esista e la stampa della query lo mostra corretto: group by tabellaA.camp1, tabellaA.campo2
edit: ovviamente ho provato a stampare sia campo che tabella.campo
no aspetta..... stampava solo una parte ma non spediva ancora al browser...
forse ho fatto
uffa...
non capisco perché questo errore:
se inserisco in where una data (per il range di selezione) mi dice
Syntax error (missing operator) in query expression
eppure c'è tutto: tabella, campo e dati inviati
la query in sintesi:
nel fare la sintesi spero di non aver tolto qualcosa di importante...codice:strSQL = " SELECT tabellaA.ID_UTENTE, tabellaA.Nome, tabellaA.Cognome, tabellaA.Numero, tabellaA.Data, Max(tabellaB.ANNO) " strSQL = strSQL + " FROM tabellaA LEFT JOIN tabellaB ON tabellaA.ID_UTENTE=tabellaB.ID_UTENTE " strSQL = strSQL + " WHERE ( tabellaB.ID_UTENTE Is Null ) AND ( tabellaA.Numero <> '' ) AND ( tabellaA.Data >= format(#"&Data&"#,'mm/dd/yyyy h.m.s') " strSQL = strSQL + " GROUP BY tabellaA.ID_UTENTE, tabellaA.Nome, tabellaA.Cognome, tabellaA.Numero, tabellaA.Data " strSQL = strSQL + " ORDER BY tabellaA.Data ASC "
se non ti torna posto quella reale
ancora non ho capito come avviene la selezione del ID con max(anno)![]()
ma nei controlli non ci sono ancora arrivato
fantastico! e me lo dici pure!! fatti stampare la query REALE e posta quellaOriginariamente inviato da Vincent.Zeno
nel fare la sintesi spero di non aver tolto qualcosa di importante...
se non ti torna posto quella reale![]()
codice:SELECT anagrafe.ID_UTENTE, anagrafe.Nome, anagrafe.Cognome, anagrafe.SocioEspulso, anagrafe.NumeroTessera, anagrafe.TipoSocioValore, anagrafe.TesseraClubDataInizio, Max(TblVerbali_Utente_Anno_IdVerb.ANNO_RIFERIMENTO) FROM anagrafe LEFT JOIN TblVerbali_Utente_Anno_IdVerb ON anagrafe.ID_UTENTE=TblVerbali_Utente_Anno_IdVerb.ID_UTENTE WHERE ( TblVerbali_Utente_Anno_IdVerb.ID_UTENTE Is Null ) AND ( anagrafe.NumeroTessera <> '' ) AND ( anagrafe.TesseraClubDataInizio >= format(#03/12/2010 12.00.00#,'mm/dd/yyyy h.m.s') AND ( anagrafe.TesseraClubDataInizio <= format(#04/12/2010 12.00.00#,'mm/dd/yyyy h.m.s') AND ( anagrafe.TipoSocioValore=100 ) GROUP BY anagrafe.ID_UTENTE, anagrafe.Nome, anagrafe.Cognome, anagrafe.SocioEspulso, anagrafe.NumeroTessera, anagrafe.TipoSocioValore, anagrafe.TesseraClubDataInizio ORDER BY anagrafe.TesseraClubDataInizio ASC
sei sicuro che il db supporti l'istruzione format? prova a toglierla e a passare la data secca, così com'è
access, la uso tale e quale per un'altra trentina di query all'interno dello stesso programma
e gira perfettamente... se non è un caso direi che la suppota
edit... provo...
ok, allora provala direttamente dentro access e vedi cosa ti dice
fermo, me la son dovuta formattare per capire...
l'ordine serve a qualcosa...codice:SELECT anagrafe.ID_UTENTE, anagrafe.Nome, anagrafe.Cognome, anagrafe.SocioEspulso, anagrafe.NumeroTessera, anagrafe.TipoSocioValore, anagrafe.TesseraClubDataInizio, Max(TblVerbali_Utente_Anno_IdVerb.ANNO_RIFERIMENTO) FROM anagrafe LEFT JOIN TblVerbali_Utente_Anno_IdVerb ON anagrafe.ID_UTENTE=TblVerbali_Utente_Anno_IdVerb.ID_UTENTE WHERE ( TblVerbali_Utente_Anno_IdVerb.ID_UTENTE Is Null ) AND ( anagrafe.NumeroTessera <> '' ) AND ( anagrafe.TesseraClubDataInizio >= format(#03/12/2010 12.00.00#,'mm/dd/yyyy h.m.s') ) AND ( anagrafe.TesseraClubDataInizio <= format(#04/12/2010 12.00.00#,'mm/dd/yyyy h.m.s') ) AND ( anagrafe.TipoSocioValore=100 ) GROUP BY anagrafe.ID_UTENTE, anagrafe.Nome, anagrafe.Cognome, anagrafe.SocioEspulso, anagrafe.NumeroTessera, anagrafe.TipoSocioValore, anagrafe.TesseraClubDataInizio ORDER BY anagrafe.TesseraClubDataInizio ASC
e usa gli alias (cfr mio esempio), la query diventa molto più leggibile