Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305

    Creazione grafico da DB ACCESS

    Sto cercando di realizzare un grafico a partire da dati presenti in un DB ACCESS.

    Ho scritto il seguente codice:

    codice:
    ....
    Set cs = Server.CreateObject("OWC10.ChartSpace")
    Set chConstants = cs.Constants
    Set chart = cs.charts.add
    ....
    cs.ExportPicture server.MapPath("grafico_monitoraggio.gif"), "GIF", larghezza, altezza
    ....
    <div align="center">[img]grafico_monitoraggio.gif[/img]</div>
    ....
    Se eseguo la procedura sul mio PC dove ho installato l'IIS tutto funziona correttamente.

    Quando provo ad esegiure lo stesso sul SEVER WEB non riesco ad esportare "grafico_monitoraggio.gif" e quindi non vedo il grafico. Probabilmente non ho i diritti per creare il file GIF.

    Come posso fare ? Potrei creare il file sul HARD DISK ("C:/) in modo che ogni utente del WEB crei il file GIF in locale ?

    Grazie mille.

    Vincenzo

  2. #2
    Le gif vanno create dentro una cartella con i permessi in scrittura tipo la public se sei su Aruba.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    Ho telefonato all'amministratore del SERVER WEB che ha dato i diritti di WRITE sulla directory, ma il risultato non cambia!!

    Mi chiedevo se potrei inviare la GIF da qualche parte sull'Hard Disk del generico utente WEB.

    Quale dovrebbe essere la sintassi:

    cs.ExportPicture PATH, "GIF", larghezza, altezza

    Grazie mille.

    Vincenzo

  4. #4
    I diritti di WRITE con quale procedura li ha dati?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    non lo sò...

    purtroppo sono ignorante in materia...

  6. #6
    Originariamente inviato da vpoppa
    non lo sò...

    purtroppo sono ignorante in materia...
    ahiahiai... chiedi all'admin, lamentati con lui del suo lavoro, non con noi

  7. #7
    I diritti di WRITE con quale procedura li ha dati?

    Come dovrebbero essere dati i permessi di scrittura?
    Un uomo senza donna è come un fianco senza spina...

  8. #8

    soluzione

    VVoVe:
    .... penso sia un problema di librerie ...

    certo se mi fai vedere il codice ti posso dire con certezza se il problema è del tuo (a quanto pare poco competente) amministratore di rete o di un errore di programmazione.


    Chiedi pure.
    ci sono passato anche io ed ho risolto....

    ciao

    Grigna


  9. #9
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    Ecco il codice:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
    <%
      anno_rif = Request.QueryString("anno")
      trimestre = Request.QueryString("trimestre")
    
      on Error resume next
        url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.mappath("DATABASE/ProgStratFA_Dati.mdb")
        set connobj = Server.CreateObject( "ADODB.Connection" )
        connobj.Open url_DB
    
    	grafico = false
     
        if err.Number=0 then
    
          Dim obiettivi_direttiva(100)
          Dim importo_programmato(100)
          Dim importo_monitorato_1tr(100)
          Dim importo_monitorato_2tr(100)
          Dim importo_monitorato_3tr(100)
          Dim importo_monitorato_4tr(100)
    
          str_PROGRAMMAZIONE = "SELECT CodOBS,CodOBO,Sum(Programmato) AS SommaDiProgrammato FROM PDATabRF WHERE Anno='" & anno_rif & "' GROUP BY CodOBS,CodOBO ORDER BY CodOBS,CodOBO"
          set Mostra_PROGRAMMAZIONE = server.createobject("adodb.recordset") 
          Mostra_PROGRAMMAZIONE.open str_PROGRAMMAZIONE, connobj, 3, 3 
    
          str_MONITORAGGIO = "SELECT CodOBS,CodOBO,Sum(Aggiornato1) AS SommaDiAggiornato1,Sum(Aggiornato2) AS SommaDiAggiornato2,Sum(Aggiornato3) AS SommaDiAggiornato3,Sum(Aggiornato4) AS SommaDiAggiornato4 FROM MonitoraggioRF WHERE Anno='" & anno_rif & "' GROUP BY CodOBS,CodOBO ORDER BY CodOBS,CodOBO"
          set Mostra_MONITORAGGIO = server.createobject("adodb.recordset") 
          Mostra_MONITORAGGIO.open str_MONITORAGGIO, connobj, 3, 3 
    	  
          Set cs = Server.CreateObject("OWC10.ChartSpace")
          Set chConstants = cs.Constants
          Set chart = cs.charts.add
    
          'tipo di grafico (da 0 a 65 con dei buchi):
          '   0  (istogramma)
          '   6  (linea)
          '   7  (linea con pallini)
          '   47 (istogramma 3D)
          chart.type = 0
    
          'colore del bordo della tabella
          chart.Border.Color = "Red" 
    
          'titolo
          chart.HasTitle = True
          chart.Title.Caption = "Confronto tra risorse finanziarie programmate e risorse finanziarie realmente disponibili (E.F. " & anno_rif & ") aggiornato al " & date & "," & time
          set objFont = chart.Title.Font
          objFont.Name = "Tahoma"
          objFont.Size = 14
          objFont.Bold = True
    
          'asse delle x
          set objAxis = chart.Axes(chConstants.chAxisPositionBottom)
          objAxis.HasTitle = True
          objAxis.Title.Caption = "Obiettivi iscritti in direttiva"
          set objFont = objAxis.Title.Font
          objFont.Name = "Tahoma"
          objFont.Size = 8
          objFont.Bold = True
          objFont.Color = "#FF0000"
    
          'asse delle y
          set objAxis = chart.Axes(chConstants.chAxisPositionLeft)
          objAxis.HasTitle = True
          objAxis.Title.Caption = "Risorse finanziarie associate"
          set objFont = objAxis.Title.Font
          objFont.Name = "Tahoma"
          objFont.Size = 8
          objFont.Bold = True
          objFont.Color = "#FF0000"
      
          if not Mostra_PROGRAMMAZIONE.eof then
    	    grafico = true
    	
      	    set serie1 = chart.seriesCollection.add 
    		if (cint(trimestre)>=1) then
              set serie2 = chart.seriesCollection.add
    		end if
    		if (cint(trimestre)>=2) then
              set serie3 = chart.seriesCollection.add
    		end if
    		if (cint(trimestre)>=3) then
              set serie4 = chart.seriesCollection.add
    		end if
    		if (cint(trimestre)>=4) then
              set serie5 = chart.seriesCollection.add
    		end if
    		
            for i = 1 to Mostra_PROGRAMMAZIONE.RecordCount
    	      
    		  obiettivi_direttiva(i) = Mostra_PROGRAMMAZIONE("CodOBS") & VBcrlf & Mostra_PROGRAMMAZIONE("CodOBO")
    	      importo_programmato(i) = clng(Mostra_PROGRAMMAZIONE("SommaDiProgrammato"))
    		  if (i=1) then
    			minimo = clng(Mostra_PROGRAMMAZIONE("SommaDiProgrammato"))
    			massimo = clng(Mostra_PROGRAMMAZIONE("SommaDiProgrammato"))
    		  else
    			if ((importo_programmato(i)<minimo) and (importo_programmato(i)>0)) then
    			  minimo = clng(Mostra_PROGRAMMAZIONE("SommaDiProgrammato"))
    			end if
    			if (importo_programmato(i)>massimo) then
    			  massimo = clng(Mostra_PROGRAMMAZIONE("SommaDiProgrammato"))
    			end if
    		  end if
    		  
    		  trovato = false
    		  while ((not Mostra_MONITORAGGIO.eof) and (not trovato))
    		     if ((Mostra_MONITORAGGIO("CodOBS")=Mostra_PROGRAMMAZIONE("CodOBS")) and (Mostra_MONITORAGGIO("CodOBO")=Mostra_PROGRAMMAZIONE("CodOBO"))) then
    			   trovato = true
    			 else
    		       Mostra_MONITORAGGIO.MoveNext
    			 end if
    		  wend
    		  
    		  if (cint(trimestre)>=1) then
      	        importo_monitorato_1tr(i) = 0
    		    if trovato then
    			  if (Len(Mostra_MONITORAGGIO("SommaDiAggiornato1"))<>0) then
      	            importo_monitorato_1tr(i) = clng(Mostra_MONITORAGGIO("SommaDiAggiornato1"))
    			    if ((importo_monitorato_1tr(i)<minimo) and (importo_monitorato_1tr(i)>0)) then
    			      minimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato1"))
    			    end if
    			    if (importo_monitorato_1tr(i)>massimo) then
    			      massimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato1"))
    			    end if
    			  end if
    			end if
    	      end if
    		  if (cint(trimestre)>=2) then
      	        importo_monitorato_2tr(i) = 0
    		    if trovato then
    			  if (Len(Mostra_MONITORAGGIO("SommaDiAggiornato2"))<>0) then
      	            importo_monitorato_2tr(i) = clng(Mostra_MONITORAGGIO("SommaDiAggiornato2"))
    			    if ((importo_monitorato_2tr(i)<minimo) and (importo_monitorato_2tr(i)>0)) then
    			      minimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato2"))
    			    end if
    			    if (importo_monitorato_2tr(i)>massimo) then
    			      massimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato2"))
    			    end if
    			  end if
    			end if
    	      end if
    		  if (cint(trimestre)>=3) then
      	        importo_monitorato_3tr(i) = 0
    		    if trovato then
    			  if (Len(Mostra_MONITORAGGIO("SommaDiAggiornato3"))<>0) then
      	            importo_monitorato_3tr(i) = clng(Mostra_MONITORAGGIO("SommaDiAggiornato3"))
    			    if ((importo_monitorato_3tr(i)<minimo) and (importo_monitorato_3tr(i)>0)) then
    			      minimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato3"))
    			    end if
    			    if (importo_monitorato_3tr(i)>massimo) then
    			      massimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato3"))
    			    end if
    			  end if
    			end if
    	      end if
    		  if (cint(trimestre)>=4) then
      	        importo_monitorato_4tr(i) = 0
    		    if trovato then
    			  if (Len(Mostra_MONITORAGGIO("SommaDiAggiornato4"))<>0) then
      	            importo_monitorato_4tr(i) = clng(Mostra_MONITORAGGIO("SommaDiAggiornato4"))
    			    if ((importo_monitorato_4tr(i)<minimo) and (importo_monitorato_4tr(i)>0)) then
    			      minimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato4"))
    			    end if
    			    if (importo_monitorato_4tr(i)>massimo) then
    			      massimo = clng(Mostra_MONITORAGGIO("SommaDiAggiornato4"))
    			    end if
    			  end if
    			end if
    	      end if
              
    		  Mostra_MONITORAGGIO.MoveFirst
              Mostra_PROGRAMMAZIONE.MoveNext
            
    		next
    
            serie1.SetData chConstants.chDimCategories, chConstants.chDataLiteral, obiettivi_direttiva
            serie1.SetData chConstants.chDimValues, chConstants.chDataLiteral, importo_programmato
    		if (cint(trimestre)>=1) then
    	      serie2.SetData chConstants.chDimValues, chConstants.chDataLiteral, importo_monitorato_1tr
    		end if
    		if (cint(trimestre)>=2) then
    	      serie3.SetData chConstants.chDimValues, chConstants.chDataLiteral, importo_monitorato_2tr
    		end if
    		if (cint(trimestre)>=3) then
    	      serie4.SetData chConstants.chDimValues, chConstants.chDataLiteral, importo_monitorato_3tr
    		end if
    		if (cint(trimestre)>=4) then
    	      serie5.SetData chConstants.chDimValues, chConstants.chDataLiteral, importo_monitorato_4tr
    		end if
          end if
    
          'legenda
          chart.HasLegend = True
    	  
          chart.SeriesCollection(0).Caption = "Importo programmato"
    	  for i=1 to cint(trimestre)
            chart.SeriesCollection(i).Caption = i & "° Monitoraggio - Importo aggiornato" 
    	  next
      
          larghezza = Mostra_PROGRAMMAZIONE.RecordCount*(40*(cint(trimestre)+1))
    	  if (larghezza > 6450) then
    	    larghezza = 6450
    	  end if
    	  altezza = round((massimo/minimo)*2)
    	  if (altezza > 4350) then
    	    altezza = 4350
    	  end if
          cs.ExportPicture server.MapPath("GRAFICO/grafico_monitoraggio.gif"), "GIF", larghezza, altezza
    
          Set cs = Nothing
    	  
          Mostra_PROGRAMMAZIONE.Close
          Set Mostra_PROGRAMMAZIONE = Nothing
          Mostra_MONITORAGGIO.Close
          Set Mostra_MONITORAGGIO = Nothing
    	 
    	end if
    
        connobj.Close
        set connobj = nothing
    %>
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Grafico monitoraggi</title>
    
    </head>
    <body>
    
    <%
      if grafico then
    %>
        <div align="center">[img]GRAFICO/grafico_monitoraggio.gif[/img]</div>
    <%
      else
    %>
        <div align="center">ATTENZIONE: non esiste alcun monitoraggio</div>
    <%
      end if
    %>
    
    </body>
    </html>

  10. #10

    vedrai che funzia...

    Allora ... tutto è piu' chiaro ... il codice non mente.

    Come temevo è un problema di librerie.
    :ignore: Se hai office installato funziona... e se usi xp sicuramente hai anche installato office.....
    Se cerchi di pubblicarlo su di un server ... office forse non c'è ... visto che non serve (è un server ... permettimi la battuta).

    .... quindi la colpa è del tuo amministratore di rete ... che sicuramente si improvvisa tale.


    Non credo che i diritti di scrittura possano essere di aiuto.... prova ... ma non credo ... visto che forse è lato server il tutto quindi ... ancora mejo



    ti dico altro .... che sinceramente ho trovato su questo forum ......
    " le extension per Office" da scaricare da MS

    Vedrai che se il tuo amministratore non è così sprovveduto .... capirà.



    Saluti

    Grigna

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.