[ASP] Ciclare i valori di 2 array

  • Creatore Discussione Creatore Discussione GoG
  • Data di inizio Data di inizio

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
 
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"
 
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:

Discussioni simili