Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Select count

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    4

    Select count

    Buongiorno a tutti.

    Vi pongo il seguente quesito in merito alla funzione count.

    Io ho una tabella chiamata messaggi dalla quale voglio ricavare due dati distinti.

    La tabella è strutturata nel seguente modo

    Nome Tabella: Messaggi

    Colonna 1: ID - Tipo dato: Contatore
    Colonna 2: Mittente - Tipo dato: Testo
    Colonna 3: Destinatario - Tipo dato: Testo
    Colonna 4: Oggetto - Tipo dato: Testo
    Colonna 5: Corpo - Tipo dato: Testo
    Colonna 6: Data - Tido dato: Data/Ora
    Colonna 7: Importante - Tipo dato: True/False
    Colonna 8: Letto - Tipo dato: True/False

    Quello che vorrei ricavarare dalle 2 query sono:

    1°: Quanti record sono presenti per ogni singolo destinario
    2°: Quanti record sono dichiarati "True" per ogni singolo destinatario

    Il risultato finale dovrebbe essere: "Messaggi: XX di YY non letti.

    Io avevo scritto la seguente query:

    SQL = "Select COUNT(" & utente & ") AS TotMail FROM Messaggi"
    Set RS = MyConn.Execute(SQL)

    ma viene visualizzato il seguente errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

    L'errore è riferito alla riga: "Set RS .... "

    Ho verificato il passaggio del valore & utente & e questo è corretta valorizzato e all'interno della tabella solo presenti record nella colonna Destinatari con valore passati a mezzo del parametro & utente &.

    Vi ringrazio sin da ora per l'auito che saprete fornirmi.
    Buona giornata a tutti.
    Luca

  2. #2
    ----------------------------------------------------
    impariamo a fare un po' di debug

    *subito* dopo la composizione della stringa SQL metti

    Response.Write "maGGica SQL...: " & sql
    Response.Flush

    poi posta quello che viene a video
    ----------------------------------------------------

  3. #3
    ma scusa, nella variabile "utente" tu hai il nome dell'utente???giusto??la username...

    la query quindi dovrebbe essere qualcosa tipo

    select count(destinatario) as totmail from messaggi where destinatario=' " & utente & " '

    nella parentesi devi mettere il nome del campo....e poi mettere la condizione che dice quali record cercare...nel tuo caso quelli dove il destinatario è l'utente x...

    prova e vedi se va....

    quella ti restituisce sia i messaggi letti che non letti...se vuoi anche sapere quelli letti rifai la query aggiungendo l'altra condizione...quindi:

    select count(destinatario) as totmail from messaggi where destinatario=' " & utente & " ' and letto='true'

    facci sapere
    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    4
    Originariamente inviato da optime
    ...
    poi posta quello che viene a video
    ----------------------------------------------------
    Seguendo il tuo consiglio ho aggiunto la riga

    Response.Write "Stringa SQL: " & sql
    Response.Flush

    e questo è il risultato:


    Stringa SQL: select count(Destinatario) as totmail from Messaggi where destinatario=Portale

    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

    /segreteria/comuni/barrasuperiore.asp, line 40

  5. #5
    portale (e cioè la variabile utente) va tra apici

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.