Newsgroup: it.comp.appl.access
Titolo: DDE con finestra DOS

Ciao a tutti
Devo aggiornare delle tabelle di ACCESS 97 con una notevole quantita' di
dati provenienti da un vecchio programma gestionale in DOS.
Vorrei farlo usando VBA e le DDE, per mandare avanti le schermate e leggere
i dati velocemente ed automaticamente
C'e' qualcuno che mi sa dire come settare il canale DDE con la finestra DOS
?
DDEinitiate(  ? ,   ?  )....?
Grazie       Claudio

 i dati velocemente ed automaticamente
??? questo passaggio mi č totalmente oscuro. Potresti spiegare meglio cosa
devi fare? Sicuro che non puoi esportare i dati in un formato noto (dbf,
testo delimitato ecc...) e fare un'importazione classica?
--
Ciao, AntoGal
*************************************************
Home Page (area programmatori di VolFtp)
http://volftp.mondadori.com/italiani/galletta/
per scaricare un gioco di DAMA ITALIANA
*************************************************

Ho trovato questo in access 2000:
Nell'esempio riportato di seguito, viene stabilito un collegamento DDE con
Microsoft Excel, vengono inseriti alcuni valori nelle celle della prima riga
di un nuovo foglio di lavoro e vengono rappresentati graficamente i valori.
Innanzitutto, la funzione DDEInitiate apre un canale per iniziare la
conversazione DDE, quindi l'istruzione DDEExecute invia a Microsoft Excel il
comando per aprire un nuovo foglio di lavoro e la funzione DDERequest
richiede a Microsoft Excel il nome del foglio di lavoro appena creato. Viene
aperto un nuovo canale e l'istruzione DDEPoke invia a Microsoft Excel i dati
di cui effettuare la rappresentazione grafica. Infine, l'istruzione
DDETerminate termina il collegamento DDE con Microsoft Excel, mentre
l'istruzione DDETerminateAll termina tutti i collegamenti DDE attivi.
Sub DDEExcel()
    Dim intI As Integer, intCan1 As Integer
    Dim strArgomenti As String, strRisp As String, strNomeFoglio As String
    On Error Resume Next                        ' Imposta la gestione
errori.
    intCan1 = DDEInitiate("Excel", "System")    ' Stabilisce il
collegamento.
    If Err Then                                    ' Se si verifica un
errore, è possibile che Excel
        Err = 0                                    ' non venga eseguito.
Corregge errore
        Shell "C:\Excel\Excel.exe", 1        ' e avvia il foglio di calcolo.
        If Err Then Exit Sub                    ' In caso di altro errore,
esce.
        ' Stabilisce il collegamento del foglio di calcolo.
        intCan1 = DDEInitiate("Excel", "System")
    End If
    ' Crea un nuovo foglio di lavoro.
    DDEExecute intCan1, "[Nuovo(1)]"
    ' Reperisce elenco degli argomenti, nome del foglio di lavoro.
    strArgomenti = DDERequest(intCan1, "Selezione")
    strNomeFoglio = Left(strArgomenti, InStr(1, strArgomenti, "!") - 1)
    ' Termina il collegamento DDE.
    DDETerminate intCan1
    ' Stabilisce il collegamento con un nuovo foglio di lavoro.
    IntCan1 = DDEInitiate("Excel", strNomeFoglio)
    For intI = 1 To 10                        ' Inserisce dei valori nella
        DDEPoke intCan1, "R1C" & intI, intI    ' prima riga.
    Next intI
    ' Esegue il grafico.
    DDEExecute intCan1, "[Seleziona(""R1C1:R1C10"")][Nuovo(2,2)]"
    ' Termina tutti i collegamenti.
    DDETerminateAll
End Sub
Ciao


Che io sappia non esistono prgrammi DOS che accettano chiamate via DDE;
infatti l'esempio si riferisce ad Excel che accetta chiamate DDE. Ma il file
che dovresti gestire che estensione ha? Non sai con quale linguaggio è stato
creato? Molte volte sono riuscito a risalire alla struttura del file proprio
con questi accorgimenti...
Ciao.