Newsgroup: it.comp.appl.access
Titolo: per Sergio Mazza

ciao,
mi rivolgo a te perchè mi hai già risposto per la questione di collegare
excel ad access utilizzando le macro. Mi hai consigliato di usare VB, io
però sono titubante perchè completamente digiuno di quel linguaggio (benchè
mi piacerebbe imparare).
Voglio provare ad esporti esattamente quel che vorrei fare in modo che tu
possa, se hai voglia, aiutarmi.
Ho un database di access con maschera "clienti" e sottomaschera "polizze",
nella sottomas. "polizze" sono presenti i campi "cavallifiscali",
"bonusmalus", ect. inoltre il campo "premio". Ora io inserisco manualmente i
dati cf, BM in access e nel contempo li inserisco in un foglio di excel che
mi restituisce il "premio" che io riporto in access.
Io vorrei fare in modo di ottenere il calcolo del "premio" senza dover
aprire excel ma ottenendolo in sottomaschera "polizze" dopo aver inserito i
dati nei campi necessari per calcolarlo. Una cosa simile si può fare in word
con incolla speciale è una specie di collegamento ipertestuale.
Se puoi aiutami, grazie
Ovviamente mi rivolgo anche a ognuno dei professionisti di access che ho
visto frequentare il NG
lucio

 ha scritto nel messaggio
news:8lpcu3$l84$1...@geronimo.keycomm.it...

Se non chiedo troppo mi spieghi il perché del doppio inserimento dei valori,
prima in excel e poi in access? Se conosci il modo di calcolare i valori che
inserisci in excel, puoi ricrearti la stessa cosa in access e sarebbe tutto
più facile.
Sorvoliamo e vediamo come recuperare da un foglio excel chiuso (si fa per
dire) un valore di una cella e inserirlo in una casella di testo chiamata
CalcoloExcel; il codice seguente lo inserisci nell'evento "su clic" di un
bottone chiamato LeggiCellaExcel che avrai inserito sulla maschera:
----------------------
Private Sub leggiCellaExcel_Click()
Dim oExl As Excel.Application, oWks As Excel.Worksheet
Set oExl = CreateObject("Excel.Application")
oExl.Workbooks.Open ("c:\documenti\NomeTuoFileExcel.xls")' indica il nome
del tuo file excel
Set oWks = oExl.ActiveSheet
Me!CalcoloExcel  = oWks.Cells(5, 1)' posizione riga,colonna della cella con
il calcolo da leggere
End Sub
----------------------
Prima di chiudere e salvare, vai sul menu strumenti - riferimenti e cerchi
la libreria "Microsoft Excel 8.0 Object Library" e attivi il check.
Chiudi tutto e salva.
Spero che la cella da leggere sia sul foglio che excel prende per defaul
quando viene aperto, altrimenti c'è da implementare il codice...
Ciao.

aprire excel ma ottenendolo in sottomaschera "polizze" dopo aver inserito i
se proprio vuoi continuare ad immagazzinare i dati su un foglio excel,
puoi allegarlo ad access (menu file, collega tabelle...).
il calcolo del premio sara' effettuato secondo una certa formula che
tu avrai scritto nella casella del foglio excel.
allora tu ti crei una bella maschera dove ci saranno dei controlli del
tipo casella di testo, controlli dove vai a scrivere i campi (ossia le
colonne) per ogni record (ossia riga) del foglio excel.  cioe' questi
controlli sono associati ai campi del foglio.
poi non devi fare altro che riscrivere la formula in vba, sostituendo
ai riferimenti delle celle i riferimenti ai nomi dei relativi
controlli.  il risultato di questa formula lo vai a scrivere in
un'altra casella di testo, magari in seguito all'evento click di un
apposito pulsante.
in realta' ci sarebbe altro da dire ma intanto comincia che poi si
vede.
--
make it idiot proof and someone will make a better idiot.
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/

 >



...Sempre pių difficile! Con una mano sola!!...
La vedo un po' intrecciata. Tu vuoi scrivere un valore in una cella di un
foglio excel e leggere il valore risultante dal calcolo e nientepopōdimeno
inserirlo in una casella di testo di access? Mah!
Dim oExl As Excel.Application, oWks As Excel.Worksheet
Set oExl = CreateObject("Excel.Application")
oExl.Workbooks.Open ("c:\documenti\NomeTuoFile.xls")
Set oWks = oExl.ActiveSheet
oWks.Cells(NumeroRiga, NumeroColonna) =
Me!NomeCasellaDiTestoConIlValoreDaInviareAdExcel
Me!NomeCasellaDiTestoCheConterrāIlRisultatoDelCalcoloEffettuatoDaExcel =
oWks.Cells(NumeroRigaDellaFormula, NumeroColonnaDellaFormula)
Ciao e buon lavoro.

 > Set oExl = CreateObject("Excel.Application")
