Newsgroup: it.comp.appl.access
Titolo: Aggiornare un campo OLE

Quello che dovrei fare si riassume così: una tabella con due campi, uno di
testo che si chiama codice e uno di tipo oggetto ole. Devo fare in modo che ,
quando desiderato, tutti i record del campo ole vengano aggiornati con
un'immagine, il cui nome (.gif) è contenuto nel campo codice (e che ovviamente
esiste in una cartella specificata). L'immagine deve essere del tipo "embedded"
(non un collegamento).
Mi piacerebbe farlo con una query di aggiornamento, ma non sono riuscito a
trovare il modo di specificare la funzione nel campo "Aggiorna a:".
Chi mi aiuta? Grazie.
Cld.

 trovare il modo di specificare la funzione nel campo "Aggiorna a:".
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

     Perche'? C'e' un motivo particolare?
No. Mi sembrava una strada semplice per realizzare quello che mi serve. Ogni
altro sistema è benvenuto!

"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:d4%e9.72549$ub2.1...@news1.tin.it...

Una routine che apre il recordset e...cicla tra i record
e...acOleCreateLink.
Leggi nella guida Proprietà Action.
Personalmente ti sconsiglio di incorporare o collegare le immagini in db
Access: elimina i campi OLE.
Se hai già il percorso hai fatto il 90% del lavoro.
Leggiti su 
www.sitocomune.com
 vari lavori su come implementare un archivio
di immagini.
Ciao, Carlo

 di immagini.
Non realizzano quello che vorrei fare.
Grazie. Cld.

 altro... Chi mi insegna a fare ciň?
[...]
    Intanto prova a vedere se puo' esserti utile questo articolo:
 
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q194975&


 Leggi nella guida Proprietą Action.
Niente. Non ci riesco. Se faccio un ciclo per "ciclare" tra i record, come
    Set DB = CurrentDb
    Set RS = DB.OpenRecordset("Mia tabella")
        With RS
           Do Until .EOF = True
           .Edit
           .Update
           .MoveNext
           Loop
        End With
    RS.Close
riesco a modificare campi "normali" per esempio con:
            ![Mio campo] = "Ciao"
messo tra il .Edit e il .Update.
Ma il campo oggetto del mio problema, un OLE, non riesco ad utilizzarlo. Io
vorrei usare la proprietą Action, e fare un acOLECreateEmbed, ma non ci riesco.
Chi mi da una mano??
Claudio.

         
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q194975&
Maurizio, io ti ringrazio del link, ma mi sembra che tratti un discorso molto
più generale e complesso. A me piacerebbe non dover imparare a costruire un
automobile per andare in ufficio la mattina.
Voi mi state insegnando a pescare, ma a me basta il pesce.
Il mio problema è talmente specifico che ho il terrore che la soluzione sia
semplicissima, e che probabilmente si risolva con una riga di codice. E' per
quello che fin dall'inizio ho insistito con la query di aggiornamento. Se in
quel dannato campo "Aggiorna a:" (nella struttura della query") io posso
scrivere qualcosa del tipo [Mia tabella]![Path al mio file], dove [Path al mio
file] è un campo contenente quello che dice, io sono felice e contento e lascio
perdere Access fino a quando non mi servirà di nuovo!
Peccato che in questo caso il disgraziato mi aggiorni il campo con dei brutti
"Dati binario lungo", evidentemente dopo aver scritto pedestramente il path
nell'oggetto OLE. Non riesco ad eseguire la fatidica acOLECreateEmbed, dopo
aver specificato nella .SourceDoc il path corretto.
Ripeto il problema: aggiornare tutti i record di un campo di tipo "oggetto OLE"
con un'immagine embedded, referenziata da un altro campo che contiene il path
completo ad una immagine .gif.
Scusa dello sfogo, e grazie per ogni aiuto che dovesse arrivare.
Claudio.


OK. Quello che ti ho suggerito fino ad ora è una stupidaggine. Troppa fretta
a volte è deleteria...
Infatti Action non lavora sui recordset di tipo tabella.
Crea una maschera con i controlli oppurtuni e un pulsante.
Io ho provato questa routine con due controlli: Percorso e Foto.
    Dim i As Long
    DoCmd.GoToRecord acDataForm, Me.Name, acFirst
    For i = 1 To Me.RecordsetClone.RecordCount
    Me.foto.SourceDoc = Me.Percorso
    Me.foto.Action = acOLECreateEmbed
    DoCmd.GoToRecord acDataForm, Me.Name, acNext
    Next i
Esegui il codice e...
Puoi migliorarlo impedendo la visiualizzazione della maschera.
Ciao, Carlo

 Puoi migliorarlo impedendo la visiualizzazione della maschera.
Grandioso! Non so come ma funziona. Quel RecordsetClone non ho capito bene cosa
faccia, ma l'importante e che riesca a fare quello che volevo. E' piuttosto
lento nell'aggiornamento, e mi sono reso conto che nonostante le immagini
inserite siano estremamente ridotte come dimensioni il DB risultante diventa
enorme, come se non inserisse le gif ma le convertisse comunque in bmp.
Ma non importa nulla. Fa quello che doveva fare e sono contento! Grazie.
Claudio.

 Scusa dello sfogo, e grazie per ogni aiuto che dovesse arrivare.
    Non hai nulla di che scusarti se accetti la reciprocita'...


     In quell'articolo c'era il pesce. Bastava un copia/incolla.
Che giochetti depravati...
Antonio

     Non hai nulla di che scusarti se accetti la reciprocita'...
Mah? Nel ringraziarti per il tempo dedicatomi, spero di non averne più bisogno.
Saluti. Claudio.

 Che giochetti depravati...
    :-))))
