Creare elementi grafici su report con VBA

di il
5 risposte

Creare elementi grafici su report con VBA

Ciao a tutti,
sto lavorando all'ennesima miglioria del report in access che crea un semplice grafico Gantt delle attività in corso. In pratica il db analizza gli intervalli di data inizio e fine di ogni attività e genera "barre" colorate orizzontali che ne rappresentano la durata.
Nella tabella "attività" ogni record di attività possiede anche un campo dove è possibile determinare se ci sono relazioni di "inizio-fine" con altre attività (ad esempio l'attività nr 2 non può iniziare prima che l'attività nr 1 non sia completata.) Mi piacerebbe poter inserire degli elementi grafici nel report (ad esempio delle frecce), facendo in modo che queste frecce si posizionino sulle barre secondo i collegamenti tra le attività definiti in tabella. Nell'esempio precedente la freccia dovrebbe generarsi alla fine dell'attività 1 e terminare con la punta all'inizio dell'attività 2. Suppongo che non sia così immediato, ma forse qualcuno di voi sa darmi qualche dritta! Nel frattempo grazie.
Marco

5 Risposte

  • Re: Creare elementi grafici su report con VBA

    Quello che chiedi è un problema... per il semplice fatto che non sai quanti elementi ti servono..!
    Puoi provare ad inserire un controllo IMMAGINE con la freccia, e, riposizionarlo in modo CUSTOM nell'evento FORMAT del Corpo che immagino sia quello che usi per andare a disegnare la BARRA...

    Di più non puoi chiedere in quanto il problema è l'impossibilità di creare OGGETTI in modalità RUNTIME.
  • Re: Creare elementi grafici su report con VBA

    Grazie Alex, contavo sul tuo intervento! Mi aspettavo non fosse facile, tenterò qualcosa ma senza spenderci troppo tempo. Una curiosità:hai idea di come faccia project a gestire tutta la parte grafica che è molto articolata? Grazie.
    Ciao
  • Re: Creare elementi grafici su report con VBA

    Senza arrivare a Project... con VB6 sarebbe già molto semplice(relativamente) in quanto si possono creare Oggetti Runtime e gestirli in modo molto potente, anche gli oggetti grafici usando il controllo PictureBox...
    Il VBA, di Access in questo caso, che è una sorta di fratello limitato di VB6, ha appunto parecchi limiti, in particolare per la grafica.
    Tempo fa, parlo di ormai 10 anni, avevo fatto una sorta di MOTORE GRAFICO che sfruttava il controllo PICTURE, ma era solo per giocare..., nel senso che è possibile gestire grarfica a buon livello ma solo in MEMORIA con le API, e poi si deve ricopiare l'area di MEMORIA nella quale si è disegnato nell'area di memoria puntata dal controllo IMMAGINE inserendo l'Header in quanto il controllo supporta solo BMP.

    Questo meccanismo è usato in un paio di miei DEMO(ProgreBarr_XP_Style e CommandButton XP_STYLE)



    Scaricali forzando il nome ed estenzione ZIP.
    Sono discretamente complessi...

    Ora la cosa migliore credo possa essere pilotare PROJECT direttamete da ACCESS via AUTOMAZIONE, puoi fargli fare di tutto... non è semplice nel senso che serve prendere confidenza con il Modello ad Oggetti di PROJECT, ma è un prodotto finale di altissimo livello professionale.
    Quando poi hai imparato bene potresti produrre una CLASSE WRAPPER che semplifica il tuo lavoro, esponendo i metodi basilari necessari all'utilizzo.

    Non so quanta autonomia hai nella programmazione, ma se hai sufficienti basi tecniche per capire quello che è il concetto è solo questione di fare qualche prova per vedere la luce...
  • Re: Creare elementi grafici su report con VBA

    Ti segnalo anche questo:
    http://forum.masterdrive.it/access-79/grafici-report-msgraph-73691/#post275541
    lo reputo un'ottimo esempio come partenza, ha delle potenzialità veramente enormi.
  • Re: Creare elementi grafici su report con VBA

    Grazie Alex per le preziose indicazioni!
Devi accedere o registrarti per scrivere nel forum
5 risposte