Newsgroup: it.comp.appl.access
Titolo: Excel <-----> Access

Un passo alla volta....divento sempre + bravo (grazie a voi);-)
Porgo a Voi esperti questo mio quesito.
Ho una maschera collegata alla tabella "excel" con campi quali:
importo,tasso,rate,etc...;in uno spazio + piccolo,sempre all'interno della
stessa maschera,ho inserito anche un oggetto,tramite trascinamento
finestre windows,di un foglio di lavoro microsoft excel chiamato "fin.xls".
Ok.Ora quello che non riesco a svolgere e la possibilità che dai campi che
prima accennavo "importo,rate,tizio,caio,etc.." partano i valori che
immetto,tutti numerici,verso le celle del foglio di lavoro fin.xls e ad
esempio "a1;b2;c3;insomma".
Dopo di ciò, quel piccolo riquadro ole che visualizza il foglio
excel"fin.xls" si deve aggiornare automaticamente senza che chiuda e
riapra la maschera.
Purtoppo ho provato con DDESend ma non capisco perche non funziona.
Sareste cosi gentili da offrirmi le istruzioni corrette?
Ho letto che bisogna utilizzare anche DDEinizzializzate (se non ricordo
male) per aprire il canale. 
Ringrazio tutti, fin'ora siete stati tutti molto gentili. A presto Marco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 male) per aprire il canale.
    Io lascerei perdere DDE e mi butterei anima e corpo sull'automazione
ole. Per esempio:
Option Compare Database: Option Explicit
Private m_oXlWbk As Excel.Workbook
Private m_oXlWsh As Excel.Worksheet
Private Sub Form_Close()
  Set m_oXlWsh = Nothing
  Set m_oXlWbk = Nothing
End Sub
Private Sub Form_Load()
  With Me
    Set m_oXlWbk = .conaXLWbk.Object
    .cdtRange_Etichetta.Caption = "&Range"
    .cdtRange.DefaultValue _
      = "=" & Chr$(34) & "A1" & Chr$(34)
    .cdtValore_Etichetta.Caption = "&Valore"
    .cdtValore.DefaultValue _
      = "=" & Chr$(34) & "Pippo" & Chr$(34)
    .pdcCdt2Cona.Caption = "&AC > XL"
    .pdcCona2Cdt.Caption = "&XL > AC"
  End With
  Set m_oXlWsh = m_oXlWbk.Worksheets(1)
End Sub
Private Sub pdcCdt2Cona_Click()
  On Error GoTo erh
  Dim sRange As String
  sRange = "" & Me.cdtRange.Value
  If (Len(sRange) = 0) Then
    Beep
  Else
    m_oXlWsh.Range(sRange).Value = Me.cdtValore.Value
  End If
ext:
  Exit Sub
erh:
  With Err
    MsgBox .Description, vbCritical, "ERR#" & Format$(.Number)
  End With
End Sub
Private Sub pdcCona2Cdt_Click()
  On Error GoTo erh
  Dim sRange As String
  sRange = "" & Me.cdtRange.Value
  If (Len(sRange) = 0) Then
    Beep
  Else
    Me.cdtValore.Value = m_oXlWsh.Range(sRange).Value
  End If
ext:
  Exit Sub
erh:
  With Err
    MsgBox .Description, vbCritical, "ERR#" & Format$(.Number)
  End With
End Sub
N.B.: cdt = casella di testo
      cona = cornice oggetto non associata
      pdc = pulsante di comando
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 End Sub


Grazie Maurizio per il tuo messaggio, soprattutto perche vedo che non č la
solita risposta del tipo fai cosi o fai colě, ma devo dirti che sono
andato ancora + in tilt.
Sono riuscito comunque a risolvere il problema di invio da access ad exel
tramite la funzione di exel dati->query su database.Il punto č che questa
funzione non e bidirezionale. infatti dal foglio Excel alcuni dati che non
vengono presi dalla tabella Access vorrei poter copiare i valori in altri
campi della maschera Access.
Spero di essere stato chiaro. Grazie Marco


 Spero di essere stato chiaro.
    Mica tanto. Sembra che manchi un pezzo alla tua frase che ho indicato
fra asterischi.


 fra asterischi.
Volevo dire : Nel foglio Excel ho ,per esempio, i seguenti dati
A;B;C(importati da Access); ed una cella totale=A+B+C(non collegata ad
access).
A;B;C; vengono aggiornati automaticamente dalla maschera di access.
Ora vorrei che dalle celle totale(excel) partisse il valore verso la
maschera Access nei campi totaleAccess di ogni ID.
Trasmissione forte e chiara- Ricezione?? :-)


 Trasmissione forte e chiara- Ricezione?? :-)
    Perfetta!
    Quel che vuoi ottenere puo' essere programmato in moltissimi modi. Prima
pero' e' bene che tu decida in ordine alle classiche 5W del giornalismo, che
funzionano bene anche nella programmazione a eventi: come, quando, dove,
perche', chi/che cosa. ;-)
    "Perche'" sono fatti tuoi e non entro nel merito. :-)
    Ma le altre quattro?... Prova a rispondere/risponderti. E ricordati di
chiarire la novita' (cosi' mi pare) che hai introdotto con questo post:
"campi ... di ogni ID".


 "campi ... di ogni ID".
L'unica cosa essenziale e il "Quando" cioč : 
Excel aggiorna automaticamente ad ogni intervallo da me stabilito(1 minuto
2 minuti etc..) i campi,cioe praticamente legge se sono stati inseriti
nuovi record in access e li trasferisce se si in excel altrimenti aggiorna
quelli modificati.
Al quesito da me posto: << traferire il valore di una cella di Excel
supponiamo "L1",in un campo di Access, supponiamo "totaleaccess">>questo
vorrei avvenga("quando"),o alla chiusura della folgio di lavoro Excel
oppure automaticamente ad ogni aggiornamento di Excel o dopo un minuto
insomma.Le ultime 2 proposte sono le + preferibili in quando essendo il DB
condiviso in rete ed essendo in un azienda sarebbe scocciante riferire ad
tutto il personale di chiudure il foglio di lavoro exel e poi riaprirlo.
Avverrebbero degli sfasamenti tra le varie postazioni di lavoro.
A presto Marco


 Avverrebbero degli sfasamenti tra le varie postazioni di lavoro.
    Ok, ma non e' Access che invia i dati a Excel? Si'? E allora perche' non
fargli leggere, al termine dell'invio, il totale dalla cella di Excel?
    Il come non te lo dico perche' non e' essenziale. ;-)
