Immagine con celle + database

di il
10 risposte

Immagine con celle + database

Ho una immagine (jpg) che rappresenta la mappa del mio terreno dove sono stati censiti tutti gli alberi (alcune centinaia). Ogni albero può essere quindi localizzato qui oppure lì. Credo che non sia possibile localizzare ogni singolo albero in base alle coordinate GPS, almeno non ci sono riuscito. Ogni albero è stato archiviato in un record di un database dove si descrivono una serie di generalità. Vorrei:
1. Creare all'interno dell'immagine una serie di posizioni/rettangoli/riferimenti ai quali, con doppio-clic riuscire a raggiungere il record della tabella di database di riferimento.
2. Allo stesso modo, dal database, con doppio-clic su un campo preimpostato, raggiungere il piccolo rettangolo di riferimento sulla mappa. In questo caso immagino occorrerà un apposito codice FollowHyperlink...ecc...alcune discussioni su questo argomento sono state già affrontate nel forum Access.
Qualcuno può darmi una dritta al riguardo?

10 Risposte

  • Re: Immagine con celle + database

    In che linguaggio? che strumenti conosci?
  • Re: Immagine con celle + database

    Soltanto Access bene, ma non so usare VBA.
    Con un amico stiamo studiando l'ipotesi di sfruttare i collegamenti ipertestuali/segnalibri di Word.
    Come si può delimitare una porzione di immagine (all'interno dell'immagine stessa) con un programma di immagini (ad esempio io uso Paint oppure Jasc Paint Shop Pro) e darle un nome?
  • Re: Immagine con celle + database

    Guarda con quegli strumenti non sò proprio come indirizzarti...
  • Re: Immagine con celle + database

    Si potrebbe pensare di fare qualcosa :

    1. 'mappare' le coordinate di ogni albero
    La difficoltà di farlo programmaticamente dipende da com'è fatta l'immagine (senza vederla non posso dire di più)

    2. registrare tali coordinate in una tabella:
    IDAlbero, x1,x2,y1,y2

    A questo punto, caricando l'immagine in un PictureBox, diventa semplice ricavare l'albero su cui l'utente ha fatto doppio-clic cercando le coordinate X,Y all'interno della tabella.

    La fase critica è sicuramente la prima, il resto è banale.

    Ovviamente tutto è fatto via codice VBA.

  • Re: Immagine con celle + database

    Gibra sicuro che Access abbia un controllo PictureBox...?

    Purtroppo la risposta è NO, ma si può fare qualche cosa con un Controllo Immagine e molto lavoro di API ricavando le coordinate relative al controllo...con GetCursorPos(se serve poi ClientToScreen e/o ScreenToClient)...

    Alternativa che avevo fatto qualche decennio fa, è stata di fare un OCX in VB6 con una PictureBox che esponeva metodi e proprietà utili e gestibili da VBA...
  • Re: Immagine con celle + database

    @Alex ha scritto:


    Gibra sicuro che Access abbia un controllo PictureBox...?
    Purtroppo a volte dimentico i limiti di Access.
  • Re: Immagine con celle + database

    Io la vedrei diversamente...
    Diciamo che FORTUNATAMENTE(per merito) non hai a che fare con i Limiti di Access, ma questo perchè usi strumenti con una maggior flessibilità.
  • Re: Immagine con celle + database

    Parlate troppo tecnico per le mie possibilità.
    Possibile che non si possa:
    1. Selezionare una porzione di immagine (intorno a un albero), con uno strumento Rettangolo o qualcosa di simile
    2. Dire a questo controllo Rettangolo che ti chiami "UlivoMaestoso" e porlo come Segnalibro
    3. Impostare un path che raggiunga ...NomeImmagine\UlivoMaestoso?
  • Re: Immagine con celle + database

    OsvaldoLaviosa ha scritto:


    Parlate troppo tecnico per le mie possibilità.
    Possibile che non si possa:
    1. Selezionare una porzione di immagine (intorno a un albero), con uno strumento Rettangolo o qualcosa di simile
    2. Dire a questo controllo Rettangolo che ti chiami "UlivoMaestoso" e porlo come Segnalibro
    3. Impostare un path che raggiunga ...NomeImmagine\UlivoMaestoso?
    Osvaldo si può fare quasi tutto... ovviamente per farlo serve una base TECNICA di programmazione notevole, rivolta alla Grafica API, soprattutto con Access che non dispone di strumenti grafici.

    Il Rettangolo, come qualsiasi altro oggetto, che non si può disegnare RUNTIME, ma va creato in DESIGNTIME ed usato poi, di suo non fa nulla...

    Questo è il PRIMISSIMO PROBLEMA... quanti Alberi hai...?
    Possono aumentare...?
    Visto che i Rettangoli li devi disegnare in modalità STRUTTURA devi sapere quanti disegnarne a priori... altrimenti API come dicevo...!

    Ipotizzando di non dover usare API grafiche ma di usare solo l'immagine visualizzata dal controllo Immagine, cosa peraltro discutibile, con il Rettangolo usato come MIRINO di selezione(che è solo 1) non puoi fare altro che definire un'area, e salvare le Proprietà dell'area in un DB come ha detto Gibra in sostanza.
    Ovviamente servono tutti i Gadget che consentono di ZOOMARE, ALLARGARE, STRINGERE il Mirino, quindi di salvare lo ZOOM FACTOR... ecc...!

    Come posizioni il RETTANGOLO...?
    Puoi trascinarlo(la gestione è meno semplice di quello che si pensa), oppure Spostarlo su Click, o DoppioClick, e quì viene il bello perchè le coordinate del tuo POINTER(nell'evento MouseMove) sono relative al Controllo Immagine e non Assolute rispetto alla Form(nella quale è posizionato il RETTANGOLO quindi serve per somma/differenza ricalcolarle) se poi la maschera ha SCROLLBAR sballano tutti i riferimenti assoluti...
    La ScrollBar è AUTOMATICA, quindi o la disabiliti sempre o devi capire se è visualizzata...(API)

    Alla fine hai 1 Rettangolo solo posizionato sull'ultima area mappata, e se vuoi graficare tutte le AREE non puoi...

    Per questo personalmente, quando si deve usare Access ed il Controllo Immagine RUNTIME, il mio consiglio è passare alle API, in memoria, li si può disegnare tutto, e reincollare l'area di memoria virtuale nell'area di memoria del controllo Immagine... tutto API.

    Alternativa secondo me da ESPLORARE, è usare i REPORT invece che le Form, nei REPORT si può tranquillamente DISEGNARE RUNTIME... ma ci sono limitazioni di gestione diverse.

    Ora tornando alla tua affermazione del "Possibile non si possa..." ribadisco si può ma approcciati a questo tema con la corretta sensibilità al VBA... che a quanto mi risulta richiede ancora una maturazione.

    Giusto per darti un'esempio di come si gestiscono RUNTIME elementi grafici puoi scaricare questo esempio:


    Salvalo in formato RAR(come l'icona).
  • Re: Immagine con celle + database

    3d spostato nella sezione Access.
    Grazie @Alex per la segnalazione.
Devi accedere o registrarti per scrivere nel forum
10 risposte