[ASP] Ciclare i valori di 2 array

GoG

Nuovo Utente
5 Dic 2014
11
0
1
Salve , avrei la necessità di richiamare i valori di un array per eseguire operazioni calcolate tra i 2 array.
Mi spiego meglio, da una select ottengo i valori di fatturato relativi alle pratiche dei mesi dell'anno corrente e li passo ad un array chiamiamolo array_PRA . Lo stesso faccio per l'array_COMM che recupera i valori di fatturato relativi alle commissioni all'anno corrente. Altri 2 ARRAY fanno lo stesso per gli anni precedenti per cui array_PRA_precedente ed array_COMM_precedente. Combino i valori degli array relativi agli anni correnti per avere il fatturato mensile dell'anno in corso e lo stesso faccio per ottenere il fatturato mensile dell'anno precedente. Tutto questo per calcolare l'incremento mensile dell'anno corrente. Il problema è che quando richiamo il valore del mese dell'anno precedente ottengo sempre solo quello del primo mese (come se non mi ciclasse l'anno precedente) per cui ottengo una % incremento errata.
Codice:
             <table width="100%">
                <tr><td>TOTALE ANNO PRECEDENTE</td></tr>
                <%For i=0 to UBound(compreDataArray,2)%>
                <%totaleprece= FormatCurrency(compreDataArray(2,i)+prapreDataArray(2,i),2,,,-1)%>
                <tr><td><A href="#"><%=compreDataArray(0,i)%></A>  <%=compreDataArray(1,i)%> = <%=totaleprece%></td></tr><%next%>
          </table>
       </td>
<td width="18%" class="cascenterContainetable2" valign="top">
             <table width="100%">
                <tr>
                  <td>TOTALE</td></tr>
                  <%For i=0 to UBound(comDataArray,2)%>
                  <%totalecorr= FormatCurrency(comDataArray(2,i)+praDataArray(2,i),2,,,-1)%>
                  <%incrementofin=Formatnumber((((totalecorr-totaleprece)/totaleprece)*100),2)%>
                  <% If incrementofin > 0 then incrementofin = "+"&incrementofin%>
                <%For k=0 to UBound(compreDataArray,2)%>
                <%totaleprece= FormatCurrency(compreDataArray(2,k)+prapreDataArray(2,k),2,,,-1)%><%next%>

                <tr><td><A href="#"><%=comDataArray(0,i)%></A>  <%=comDataArray(1,i)%> = <%=totalecorr%> : <%=totalecorr%> - <%=totaleprece%> / <%=totaleprece%> *100 <A href="#"><%=incrementofin%>%</a></td></tr><%next%>
          </table>
Sicuramente sbaglio l'ultimo For , sapreste aiutarmi?

Grazie
 

marino51

Utente Attivo
28 Feb 2013
2.609
132
63
Lombardia
mi permetto di farti una domanda,
visto che tratti pochi valori, perché non separi i calcoli, dalla presentazione dei valori e dei risultati ?
avresti un codice più comprensibile e più facile da verificare anche se ti costa generare 3 o 4 nuove array

considerazione,
un "if" esclude "incrementi negativi", mi sembra sbagliato, il totale non sarà mai corretto

se con questi suggerimenti non risolvi, riposta il codice "ordinato"
 

GoG

Nuovo Utente
5 Dic 2014
11
0
1
Grazie per la risposta, ho cambiato approccio ma ho ancora delle difficoltà.. ecco il codice:

PHP:
<%
Set RStotm = Server.CreateObject("ADODB.Recordset")
RStotm.CursorLocation=3
RStotm.ActiveConnection = MM_conn_STRING
RStotm.Source = "SELECT qry_totale_mese_fatt.ycdata, Sum(qry_totale_mese_fatt.totale_commissioni) AS totale_annuale, qry_totale_mese_fatt.mdata, qry_totale_mese_fatt.mndata FROM qry_totale_mese_fatt GROUP BY qry_totale_mese_fatt.ycdata, qry_totale_mese_fatt.mdata, qry_totale_mese_fatt.mndata ORDER BY qry_totale_mese_fatt.mndata"
RStotm.open()
totmDataArray  = RStotm.GetRows
%>
<table width="100%">
   <tr><td valign="top">TOTALE</td></tr>
<%
For i=0 to UBound(totmDataArray,2)
formattototalem= FormatCurrency(totmDataArray(1,i),2,,,-1)
datamese=Cstr(totmDataArray(0,i)&totmDataArray(2,i))
conta=len(datamese)
conta=Int(conta)
stanno=Cstr(year(date)-1)
If left(datamese,4) = stanno then datamese = null else datamese = "<tr><td><A href='#'>"&(mid(datamese,5))&" </A> "&Left(datamese,4)&"&nbsp;= &nbsp;"&formattototalem&":"&compreDataArray(2,i)+prapreDataArray(2,i)&"</td></tr>"
response.write(datamese)
next
%>
Ora a differenza di prima ottengo il ciclo ma non capisco per quale motivo dall'array ottengo solo il fatturato dei mesi pari...
 
Ultima modifica: