Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Report Rompicapo

  1. #1

    Report Rompicapo

    Salve, vi sottopongo il mio problema.
    Ho un DB Access in cui ho 2 tabelle, la tabella tbl_authors che contiene gli utenti e la tabella Movimenti che contiene le ore e gli orari che ogni utente inserisce.
    Problema:
    Faccio un report in cui cerco di fare riepilogo per Utente/Mese ma mi trovo in difficoltà.
    Ecco il codice........
    <%
    Session.LCID = 1040
    %>
    <%
    ' Pagina attuale
    Here = "consul_report_anno.asp?ID=" & Request.QueryString("ID")
    %>
    <%
    Response.Expires = 0
    Dim ID
    ID = Request.Querystring( "ID" )
    Set Connessione = Server.CreateObject("adodb.connection")
    Connessione.Open = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../DB/Consulenti_gestione.mdb")
    If isEmpty(Request.QueryString("pagina")) Then
    Pagina = 1
    Else
    Pagina = CInt(Request.QueryString("pagina"))
    End If
    RecordXPagina = 20
    Sql = "SELECT * FROM tbl_authors where IdCons <> 1"
    Set Esempi = Server.CreateObject("adodb.recordset")
    Esempi.PageSize = RecordXPagina
    Esempi.CacheSize = RecordXPagina
    Esempi.Open Sql, Connessione, 3, 3
    ' Nel caso non sia presente nessun record nella tabella...
    If Esempi.RecordCount = 0 Then
    Response.Write("AREA NON ACCESSIBILE !!!")
    Else
    ' Pagina attuale
    Esempi.AbsolutePage = Pagina
    %>
    ------------html

    <%
    RecordCorrente = 0
    Do While RecordCorrente < Esempi.PageSize And Not Esempi.Eof
    RecordCorrente = RecordCorrente + 1
    Dim IdC
    IdC= Esempi("IdCons")
    %>


    <%= Esempi("IdCons")%>
    If str_users_authority = "admin" Then
    Response.Write ("<a href=../securework/visualizza_profilo.asp?ID="& Esempi("code") &">" & Esempi("cognome")& ""& Esempi("nome")&"</a>")
    else
    Response.Write ("")
    Response.Write Esempi("cognome")
    Response.Write ("")
    Response.Write Esempi("nome")
    end if
    %>
    <%
    Set Esempi1 = Connessione.execute("SELECT TimeValue(TimeSerial(Fix((Sum(Somma)*24)),((Sum(So mma)*24)-Fix(Sum(Somma)*24))*60,0)) AS risultato1 FROM Movimenti WHERE month(Data)=1 AND year(Data)=2011 AND Movimenti.IdCons="& IdC)
    If risultato1 <> 1 Then %>
    <%= Esempi1("risultato1") %>
    <%
    else
    Response.Write "=="
    end if
    %>

    Esempi.MoveNext
    Loop
    Response.Write("</table>")
    Response.Write("<div align=""center"" style=""margin-top: 5px; font-size: 10px; font-family: Verdana; font-size: 10px; color: #FFFFFF"">")
    If Pagina <> 1 Then %>
    <font color="#FFFFFF" font-size="10px">Pagina precedente</font> - <% End If
    For Num = 1 To Esempi.PageCount
    If Num = Pagina Then
    Response.Write(Pagina & " ")
    Else %>

    <font color="#FFFFFF" font-size="10px"><% = Num %></font>
    <% End If
    Next
    If Pagina <> Esempi.PageCount Then %>
    - <a href="<%=HERE%>&pagina=<% = Pagina +1 %>">
    <font color="#FFFFFF" font-size="10px">Pagina successiva</font></a><% End If
    Response.Write("</div>")
    End If
    Esempi.Close
    Set Esempi = Nothing
    Connessione.Close
    Set Connessione = Nothing


    Il problema è che quando estraggo i dati se nella tabella Movimenti non sono ancora stati inseriti i movimenti di tutti gli utenti mi da errore.

  2. #2
    1. impara ad usare il pulsante CODE per mettere il codice
    2. evidenzia per cortesia *dove* si verifica l'errore


  3. #3

    Report rompicapo

    Chiedo scusa per non aver usato il pulsante code.
    L'errore si verifica qui..
    codice:
    <%
    Set Esempi1 = Connessione.execute("SELECT TimeValue(TimeSerial(Fix((Sum(Somma)*24)),((Sum(Somma)*24)-Fix(Sum(Somma)*24))*60,0)) AS risultato1 FROM Movimenti WHERE month(Data)=1 AND year(Data)=2011 AND IdCons="& IdC)
    If risultato1 <> 1 Then %>
    <%= Esempi1("risultato1") %>
    <%
    else
    Response.Write "=="
    end if
    %>
    
    Esempi.MoveNext
    In pratica se nella ricerca se trova presente i dati (anche se 0.00) funziona ma se trova anche solo un Consulente (IdCons) che non abbia alcun record di quel mese nella tabella mi da errore.
    La tabella ha i seguenti campi:
    IdReg (contatore)
    IdCons
    OraInizio1
    OraFine1
    OraInizio2
    OraFine2
    OraInizio3
    OraFine3
    SommaGiorno

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi testare che il recordset Esempi1 contenga qualcosa:

    if not Esempi1.EOF then
    ..
    ..
    end if

    Roby

  5. #5

    ho provato ma non mi risponde corretamente

    codice:
    <%
    Set Esempi1 = Connessione.execute("SELECT TimeValue(TimeSerial(Fix((Sum(Somma)*24)),((Sum(Somma)*24)-Fix(Sum(Somma)*24))*60,0)) AS risultato1 FROM Movimenti WHERE month(Data)=1 AND year(Data)=2011 AND IdCons="& IdC)
    if not Esempi1.EOF then %>
    <%= Esempi1("risultato1") %>
    <%
    else
    Response.Write "=="
    end if
    %>
    
    Esempi.MoveNext
    Se il primo IdCons ha dati e il secondo (o altri) No mi risponde che non ne ha risponde == per entrambi

  6. #6
    hai provato la query direttamente in access?

  7. #7

    provato

    Ho provato direttamente in access e mi da il risultato giusto dove ci son dati ed errore dove non ci sono.

  8. #8

    Re: provato

    Originariamente inviato da LEFFEDIGITAL
    Ho provato direttamente in access e mi da il risultato giusto dove ci son dati ed errore dove non ci sono.
    ???? che vuol dire?

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.