Relazioni tra tabelle con oggetti OLE (immagini) COME?

di il
7 risposte

Relazioni tra tabelle con oggetti OLE (immagini) COME?

Buonasera a tutti, mi chiamo Alessandro, non vorrei uscire con la solita frase "ho cercato ovunque ma non ho trovato la soluzione ecc" ma in rete non ho trovato esattamente quello che sto cercando riguardo gli oggetti OLE
Ho costruito un database dove ho varie tabelle in base al reparto aziendale a cui faranno riferimento..

La tabella base contenente i dati essenziali è composta da oltre 100 record sviluppata nella seguente maniera (ID Chiave primaria)
altre tabelle collegate spesso prendono valori da questa.

ID - CodiceProdotto altre colonne - ultima colonna OGGETTO OLE (di cui carico un immagine BMP) quindi ogni codice prodotto ha una sua immagine

creo la maschera, inserisco un campo immagine e con dei vari pulsanti se cambio il record mi appare la relativa immagine associata al relativo codice prodotto di cui ID...
Qui il problema non esiste...

esiste quando ho un altra tabella di cui tengo traccia i lotti che vengono prodotti di giorno in giorno sviluppata nella seguente maniera

ID codice prodotto (richiamato dalla relazione) quantità ---altri campi---- FOTO

questo campo (FOTO) non sto riuscendo a relazionarlo con la tabella principale, in quanto creando la maschera non riesco a vedere nulla ovviamente perchè non è collegato a nulla...

Se provo a creare una relazione tra tabelle il campo FOTO della tabella primaria non mi compare nell'elenco da includere nella relazione (forse perchè è un oggetto OLE?

Quello che vorrei fare nella seconda tabella è: cerca il codice prodotto selezionato dall'elenco e dalla tabella principale carica la foto associata.
Non vi chiedo la soluzione buttata li, mi piace capire dove sto sbagliando perchè magari sarà una fesseria ma con access sto riuscendo a capirlo sperimentandolo, e su questo dilemma sono fermo ora mai da un paio di settimane.

grazie a chiunque mi aiuterà

7 Risposte

  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    Credo che in qualsiasi sito o documento in rete si possa trovare indicazione che non è intelligente usare Campi OLE per memorizzare immagini a vantaggio di una tecnica più funzionale che consiste nel memorizzare solo il Path assoluto o relativo a seconda dello sviluppo, ed usare poi controlli immagine associati per la visualizzazione.
    Detto ciò ogni prodotto potrà avere 1 immagine correlata inserendo 1 campo PathImmagine nella tabella componnete, oppure molte immagini correlate se.realizzi una relazione1-M con una tabella ImmaginiCorrelate...
    Dal moment in cui le foto sono dei records devi anche avere la PK della foto che si muove con quest'ultima.... e qui dipende da come sviluppi l'interfaccia...
    Se hai una form a maschere continue oltre alla foto metterai il controllo associato alla PK magari non visibile.
    Se usi maschera singola uguale.
    Sbagli se pensi di usare sistemi NON ASSOCIATI.

    Ti suggerisco tuttavia di ripensare alla tua tecnica.
  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    Buongiorno Alex, grazie per la dritta.
    per come stavo facendo le ricerche evidentemente ho sbagliato perchè usavo appunto filtri di ricerca sbagliati per trovare una soluzione.

    tuttavia, al di là che questo è un database test e seguirò comunque il consiglio di cambiare tecnica per quello definitivo in quanto dovrò renderlo più "pulito".

    Credo di aver capito cosa devo fare e mi ci metto subito, la tecnica che mi suggerisci ha un nome specifico?
    grazie
  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    No è lo standard...
  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    Buongiorno, ho optato per gestire le immagini via collegamento ipertestuale.
    la tabella primaria con ID ... altri campi....e in fine IMGprod (quest'ultimo campo impostato su collegamento ipertestuale
    seleziono tutta la maschera e su evento corrente applico questo codice

    Private Sub Form_Current()
    Me!Immagine72.Picture = Me!IMGprod.Value
    End Sub

    nella maschera ho inserito i 2 campi
    il collegamento che fa riferimento a immagine72
    IMGprod che fa riferimento al controllo immagine
    la struttura tabella è impostata su collegamento ipertestuale

    salvo riapro il tutto e mi da il seguente errore
    errore di runtime-2220
    impossibile aprire il file 'C:\Users\NomeUtente\Desktop\Lavoro\DB\img\prodotto1.bmp#img\prodotto1.bmp#'.
    ora ho tentato anche con \img\prodotto1.bmp ma continuo ad aver lo stesso problema

    Test anche con vari parametri, mi sorge il dubbio su quando creo il modulo immagine, mi chiede di selezionarne una, devo farlo o no? Intrambi i casi sono punto a capo, ma è giusto per sapere come deve essere...
    tipo di immagine? Incorporata, collegata, condivisa?
    dati origine di controllo ? è vuoto

    mi sto dormendo qualcosa perche ho rifatto tutto con un database nuovo vuoto per dubbio che si sia incasinato questo ma niente.
  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    Ho continuato a fare delle prove finchè non ho capito l'errore e devo dire che nonostante questa stringa era già corretta dall'inizio, ho sbagliato alcune cose:
    Me!Immagine74.Picture = Me!ImgMCC.Value

    nel mettere il campo path il percorso abbreviato dell'immagine ES: \img\xxx.bmp invece di C:\abc\def\ghi\img.bmp
    avevo capito che potevo scegliere di utilizzare un percorso relativo dalla posizione del database ma se abbrevio il percorso non visualizzo piu nulla.
    beh almeno di questo per ora mi accontento..

    altra cosa se non ho assegnato un percorso al campo path come posso visualizzare un immagine di default...? se provo a mettere un immagine nel campo immagine del controllo mi visualizza correttamente le foto già impostate ma se ho un record a cui non ho associato un path mi genera errore.
  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    Chi ha mai parlato di usare un campo di tipo Hyperlink...?
    Io no, tu lo hai usato senza conoscerne le specificità..., la regola è di memorizzare il Percorso in un campo Testo...!
  • Re: Relazioni tra tabelle con oggetti OLE (immagini) COME?

    Ciao a tutti.
    scusate se riprendo in mano la discussione ora, ma sono riuscito a studiarmi un po come funziona il tutto prima di fare altre domande sicuramente già spiegate.
    Ho visto in più post i vari suggerimenti dati da vari utenti soprattutto da Alex.
    In effetti ora funziona e il db mantiene il peso al minimo.
Devi accedere o registrarti per scrivere nel forum
7 risposte