Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 45
  1. #11
    ogni campo che aggiungi alla SELECT deve avere una corrispondenza nella GROUP BY

  2. #12
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    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

  3. #13
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    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:
    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 "
    nel fare la sintesi spero di non aver tolto qualcosa di importante...
    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

  4. #14
    Originariamente inviato da Vincent.Zeno
    nel fare la sintesi spero di non aver tolto qualcosa di importante...
    se non ti torna posto quella reale
    fantastico! e me lo dici pure!! fatti stampare la query REALE e posta quella

  5. #15
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    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

  6. #16
    sei sicuro che il db supporti l'istruzione format? prova a toglierla e a passare la data secca, così com'è

  7. #17
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    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...

  8. #18
    ok, allora provala direttamente dentro access e vedi cosa ti dice

  9. #19
    fermo, me la son dovuta formattare per capire...

    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
    l'ordine serve a qualcosa...

  10. #20
    e usa gli alias (cfr mio esempio), la query diventa molto più leggibile

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.