Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Contare e visualizzare

  1. #1
    Utente di HTML.it L'avatar di carlo55
    Registrato dal
    Nov 2002
    residenza
    Padova
    Messaggi
    204

    Contare e visualizzare

    Salve a tutti! Vi chiedo una mano perché non riesco ad uscirne...
    Ho due tabelle
    SQL_fascia_A_23_24_1 = " SELECT "
    SQL_fascia_A_23_24_1 = SQL_fascia_A_23_24_1 & " Count(isNull([02_forn_protesi].id_F_PRO),0) AS TOT_id_PRO, Sum([02_forn_protesi].F_PRO_im_fatt) AS TOT_fattura, [02_forn_protesi].id_PRO "
    SQL_fascia_A_23_24_1 = SQL_fascia_A_23_24_1 & " FROM 02_forn_protesi LEFT JOIN 01_ass ON [02_forn_protesi].id_ASS = [01_ass].id_ass "
    SQL_fascia_A_23_24_1 = SQL_fascia_A_23_24_1 & " WHERE ([02_forn_protesi].id_PRO = 160 Or [02_forn_protesi].id_PRO = 161 Or [02_forn_protesi].id_PRO = 162 Or [02_forn_protesi].id_PRO = 179 Or [02_forn_protesi].id_PRO =180 Or [02_forn_protesi].id_PRO = 181) AND [02_forn_protesi].[F_PRO_d_pa_fatt] Between '"&var_acus_DAL_1&"' and '"&var_acus_AL_1&"' AND [01_assicurato].id_SEDE = " & var_id_sede & " "
    SQL_fascia_A_23_24_1 = SQL_fascia_A_23_24_1 & " GROUP BY [02_forn_protesi].id_PRO "
    Set rs_fascia_A_23_24_1 = Connes.Execute(SQL_fascia_A_23_24_1)

    if rs_fascia_A_23_24_1("TOT_id_PRO") = 0 then
    response.write " TOTALE " & rs_fascia_A_23_24_1("id_PRO") & ": 0 " & "
    "
    else
    response.write " TOTALE " & rs_fascia_A_23_24_1("id_PRO") & " - " & rs_fascia_A_23_24_1("TOT_id_PRO") & "
    "
    end if


    vorrei che stampi

    TOTALE 160 0
    TOTALE 161 0
    TOTALE 162 0
    TOTALE 179 - 2
    TOTALE 180 - 5
    TOTALE 181 0

    Ossia vorrei che venga visualizzato anche gli id_PRO non presenti nella tabella
    (scusate la mia ignoranza)

    Come ne esco?
    Grato e grazie a chi ma dà aiuto.
    Restiamo Umani

  2. #2
    gli ID_PRO sono progressivi? vanno da... a...? perché salti da 162 a 179?

  3. #3
    Utente di HTML.it L'avatar di carlo55
    Registrato dal
    Nov 2002
    residenza
    Padova
    Messaggi
    204
    Tante grazie per la risposta
    gli id_PRO non sono progressivi essi riferiscono ad alcune voci presenti in altra tabella
    Restiamo Umani

  4. #4
    metti anche l'altra tabella in join nella query

    SELECT campi FROM tabella_con_tutti_gli_id T1 LEFT JOIN tua_tabella T2 ON T1.ID_PRO=T2.ID_PRO .... bla bla bla tutto il resto

  5. #5
    Utente di HTML.it L'avatar di carlo55
    Registrato dal
    Nov 2002
    residenza
    Padova
    Messaggi
    204
    SQL_fascia_A_23_24_1 = SQL_fascia_A_23_24_1 & " FROM (02_forn_protesi LEFT JOIN 01_ass ON [02_forn_protesi].id_ASS = [01_ass].id_ass) LEFT JOIN BB_protesi ON [02_forn_protesi].id_PRO = BB_protesi.id_PRO "



    ho fatto come hai detto ma contiuna a visualizzare solo gli id_PRO che trova.
    Una domanda è giusto Count(isNull([02_forn_protesi].id_F_PRO),0) AS TOT_id_PRO ....
    Il database è Access
    Restiamo Umani

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

    *subito* dopo la composizione della stringa SQL metti

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

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

  7. #7
    Utente di HTML.it L'avatar di carlo55
    Registrato dal
    Nov 2002
    residenza
    Padova
    Messaggi
    204
    se metto Count(isNull([02_forn_protesi].id_F_PRO),0) AS TOT_id_PRO ....
    va in errore:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Numero errato di argomenti usati con la funzione nell'espressione della query 'Count(isNull([02_forn_protesi].id_F_PRO),0)'.


    se invece metto Count([02_forn_protesi].id_F_PRO) AS TOT_id_PRO ....
    SELECT Count ([02_forn_protesi].id_F_PRO) AS TOT_id_PRO, Sum([02_forn_protesi].F_PRO_im_fatt) AS TOT_fattura, [02_forn_protesi].id_PRO FROM 02_forn_protesi LEFT JOIN 01_ass ON [02_forn_protesi].id_ASS = [01_ass].id_ass WHERE ([02_forn_protesi].id_PRO = 160 Or [02_forn_protesi].id_PRO = 161 Or [02_forn_protesi].id_PRO = 162 Or [02_forn_protesi].id_PRO = 179 Or [02_forn_protesi].id_PRO =180 Or [02_forn_protesi].id_PRO = 181) AND [02_forn_protesi].[F_PRO_d_pa_fatt] Between '20100101' and '20100805' AND [01_assicurato].id_SEDE = 3 GROUP BY [02_forn_protesi].id_PRO
    TOTALE 179 - 2

    Grazie per la tua disponibilità
    Restiamo Umani

  8. #8
    count(campo) conta già i campi NON null...

  9. #9
    Utente di HTML.it L'avatar di carlo55
    Registrato dal
    Nov 2002
    residenza
    Padova
    Messaggi
    204
    Perdona la mia ottusaggine non riesco a capire come riesco a stampare :

    TOTALE id_PRO 160 0
    TOTALE id_PRO 161 0
    TOTALE id_PRO 162 0
    TOTALE id_PRO 179 - 2
    TOTALE id_PRO 180 - 5
    TOTALE id_PRO 181 0
    Restiamo Umani

  10. #10
    perché, adesso cosa stampa?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.