Newsgroup: it.comp.appl.access
Titolo: aiuto access-excel

ciao a tutti
ho un DB di access che contiene dei listini con descrizioni articolate in 4
livelli e i prezzi relativi al 4° livello
tramite una maschera con delle combo "filtro" le voci fino ad ottenere in
un'altra maschera la descrizione ed il prezzo che mi interessa contenuti
come testo in una casella di testo
fin qui tutto bene
ora vi espongo i problemi che non riesco a risolvere:
vorrei che premendo un pulsante sulla maschera del risultato, venisse
copiato tutto il testo ottenuto ed incollato nella cella attiva di excel.
č piů di un mese che ci provo ma non c'č verso, anche sul sitocomune non ho
trovato qualcosa che potesse aiutarmi (almeno cosě mi č parso)
c'č un sistema? 
grazie
dario

 dario
Per prima cosa cerca di scrivere messaggi con oggetti più descrittivo del 
problema (regola di questo NG).
Poi descrivi "...venisse copiato tutto il testo ottenuto..."; cosa ottieni? 
Un valore? Un set di record?
Se è un valore contenuto un una casella di testo potresti inserire, 
nell'evento "su clic" di un bottone, il codice:
Dim oCtrl As Control
Set oCtrl = Screen.PreviousControl
oCtrl.SetFocus
RunCommand acCmdCopy
che seleziona il contenuto della casella mettendolo negli appunti; poi ti 
sposti nella cella di excel ed incolli il contenuto...
Ciao.
-- 
Sergio MAZZA 

 RunCommand acCmdCopy
grazie della risposta.
in effetti da copiare era un valore.
ho modificato il tutto così 
Dim Ctrl As Control
Me.Controls.Item("testo0").SetFocus
Set Ctrl = Screen.ActiveControl
Ctrl.SetFocus
DoCmd.RunCommand acCmdCopy
e ho il valore pronto per essere incollato.
ora chiedo come faccio per attivare un foglio di excel già aperto per 
incollare quanto disponibile?
ciao 
dario

 dario
Potresi selezionarlo con l'Istruzione AppActivate (vedi help) ma non credo 
sia la soluzione migliore. Comunque se hai selezionato e copiato il valore e 
hai excel già aperto basta che lo attivi (dalla barra applicazioni), 
selezioni la cella e incolli il valore...
Ciao.
-- 
Sergio MAZZA 

 AppActivate
grazie del suggerimento
ora dato che l'appetito vien mangiando chiedo:
se ho tre caselle di testo contenenti ciascuna un valore
come posso fare a copiare i tre valori separati ed incollarli in tre celle 
di excel separate?
posso copiare il contenuto della prima casella con
Dim Ctrl As Control
Me.Controls.Item("testo0").SetFocus
Set Ctrl = Screen.ActiveControl
Ctrl.SetFocus
DoCmd.RunCommand acCmdCopy
mi sposto in excel con
AppActivate "Microsoft Excel"
ma a questo punto come faccio a farglielo incollare nella prima cella,
tornare ad access, copiare il valore della seconda casella, tornare ad 
excel incollare e ripetere il giro per il terzo valore?
dario

 ha scritto nel messaggio 
news:1syewkfwc3ylx$.qcdg6ptttm9h$.dlg@40tude.net...

Orca l'oca! Ma non fai prima con OLE? Se devi scrivere dei valori in alcune 
celle di excel in questo modo non hai un totale controllo della situazione; 
mentre se utilizzi OLE puoi scrivere in qualsiasi cella/foglio.
Questo č un esempio:
'---------
Dim oApp As Excel.Application
Dim oWsh As Excel.Worksheet
Dim riga As Integer, Colonna As Integer
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
oApp.Workbooks.Open "nomeFile.xls"
Set oWsh = oApp.ActiveWorkbook.Sheets(1) '<-- attiva il primo foglio
'-->legge i dati da una casella di testo e li scrive sul
'--> foglio excel attivo e un una cella
riga = 1: Colonna = 1
oWsh.Cells(riga, Colonna) = me!nomeCasellaDiTesto
set oWsh = nothing
Set oApp = nothing
'----------
Ciao.
-- 
Sergio MAZZA