Newsgroup: it.comp.appl.access
Titolo: Campo OLE da codice

Ragazzi, qualcuno di voi sa come assegnare ad un campo OLE un foglio di
calcolo Excel da codice?
Perchè ho appunto una tabella con tale campo, però volevo fare nella
maschera che se l'oggetto OLE è nullo, gli assegna automaticamente un foglio
excel vuoto...
Come posso fare?

 ha scritto nel messaggio 
news:325ngdF...@individual.net...

Se il controllo è collegato a un campo ole puoi sfruttare la SourceDoc e 
Action per esempio così:
Forms!TuaForms!TuoControllo.SourceDoc = FileSelezionato
Forms!TuaForms!TuoControllo.Action = acOLECreateEmbed ' o acOLECreateLink
FileSelezionato è la path del file.
Ciao, Carlo 


Già questo è interessante ma...
Io non ho nessun file excel da linkare, dovrebbe essere un oggetto "file
excel" vuoto, creato dal nulla...(come quando si fa "inserisci oggetto" e si
seleziona "Crea Nuovo Oggetto"), si può fare?

 ha scritto nel messaggio 
news:325qqpF...@individual.net...

Sì si può fare ma ti consiglio di crearti un file vuoto in excel e lasciarlo 
nella cartella del programma. Lo utilizzerai quando vuoi.
Ciao, Carlo 


Eh ma non è la stessa cosa: così facendo tutti i record avranno associato lo
stesso file xls...
Quindi se lo modifico, le modifiche verranno rispecchiate in tutti i record.
Se io invece per ogni record gli associo un foglio excel istanziato in quel
momento (vuoto) e associato come oggetto OLE, poi ogni record si ritroverà
il suo, e quando qualcuno comincerà a modificare, modificherà solo il foglio
associato a quel record...
E' tutto corretto?
E' giusto quel che dico?

 ha scritto nel messaggio
news:325vq2F...@individual.net...

Non mi pare.
Quanto ti dice Carlo è la Tecnica usuale della gestione di File da
Associare.
E' anche vero che non è chiaro quello che devi fare, e spesso proporre la
soluzione
disorienta dalla via giusta.......!
Quanto proposto da Carlo impone che tu conosca bene l'Automazione di Access
ed Excel
per compilare i dati del Foglio con quelli relativi al Record corrente.
Trovi un ottimo esempio di Namor(Marco Pizzamiglio) sulla tecnica di
gestione
di un Foglio DOC(ma la cosa non cambia molto) usato come Wizzard di
Documentazione.
Un solo Foglio asserve a tutti i Records che tu ritieni,
Inglobando in un OLE il file invece non potresti mai modificarlo se non
esportarlo
come BINARY FILE e poi sempre accedere tramite Automazione o Linkando
su Excel la Query/Tabella con il/i Record/s
Ciao.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 disorienta dalla via giusta.......!
Allora mettiamola cosě: č possibile associare ad ogni record di una tabella,
un foglio excel diverso, senza che questo venga salvato come file (e cioč
embedded nel tracciato record)?


Ho trovato la soluzione.
Con questa funzione viene assegnato un foglio incorporato (e non linkato)
nel campo OLE.
Ogni record avrà il suo oggetto incorporato, creato dal file indicato nella
proprietà SourceDOC, ma non collegato ad essa:
private sub Assegna()
    foglio.OLETypeAllowed = acOLEEmbedded    ' Specifica il file di origine
    foglio.SourceDoc = "d:\Oletext.xls"     ' Specifica i dati cui creare un
collegamento.
    foglio.SourceItem = "R1C1:R5C5"     ' Crea un oggetto collegato.
    foglio.Action = acOLECreateEmbed    ' Regola la dimensione del
controllo.
    foglio.SizeMode = acOLESizeZoom
end sub
Devo ancora perfezionarla...vorrei far tutto da codice, senza nemmeno il
file (Excel.application?), però già così comincia ad andarmi bene...