Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Da Access a VB6

13 views
Skip to first unread message

Marco

unread,
May 26, 2009, 11:05:54 AM5/26/09
to
Buongiorno a tutti

devo trasportare un modulo da VBA a VB6.
La cosa mi sembrava elementare finch� non mi sono imbattuto nello statement
DOCMD.TRANSFERSPREADSHEET.

Come lo trasformo in VB6? Non esiste un comando pi� o meno simile che possa
utilizzare?

Grazie a tutti

Marco


Sergio MAZZA

unread,
May 27, 2009, 2:53:37 AM5/27/09
to
"Marco" <marco.de...@tiscali.it> ha scritto nel messaggio
news:4a1c0553$0$6838$5fc...@news.tiscali.it...

> Buongiorno a tutti
>
> devo trasportare un modulo da VBA a VB6.
> La cosa mi sembrava elementare finch� non mi sono imbattuto nello
> statement DOCMD.TRANSFERSPREADSHEET.
>
> Come lo trasformo in VB6? Non esiste un comando pi� o meno simile che
> possa utilizzare?
>
> Grazie a tutti
>
> Marco

Da quanto ne so, VB6 non pu� avere accesso diretto agli oggetti contenuti
nell'mdb; quindi dovrai utilizzare l'automazione OLE, e da quel momento in
poi potrai anche richiamare il metodo TransferSpreadSheet.
es.
...
Dim objApp As Object

Set objApp=CreateObject("Access.Application")
objApp.OpenCurrentDatabase "c:\nomeCartella\nomeFile.mdb"
objApp.Visible = true
objApp.DoCmd.TransferSpreadSheet "nomeOggettoDaEsportare", ...parametri...
...


Ciao.
--
Sergio MAZZA

Marco

unread,
May 27, 2009, 8:11:07 AM5/27/09
to

"Sergio MAZZA" <sergi...@tiscali.it> ha scritto nel messaggio
news:gvio1f$478$1...@tdi.cu.mi.it...

> "Marco" <marco.de...@tiscali.it> ha scritto nel messaggio
> news:4a1c0553$0$6838$5fc...@news.tiscali.it...
>> Buongiorno a tutti
>>
>> devo trasportare un modulo da VBA a VB6.
>> La cosa mi sembrava elementare finch� non mi sono imbattuto nello
>> statement DOCMD.TRANSFERSPREADSHEET.
>>
>> Come lo trasformo in VB6? Non esiste un comando pi� o meno simile che
>> possa utilizzare?
>>
>> Grazie a tutti
>>
>> Marco
>
> Da quanto ne so, VB6 non pu� avere accesso diretto agli oggetti contenuti
> nell'mdb; quindi dovrai utilizzare l'automazione OLE, e da quel momento in
> poi potrai anche richiamare il metodo TransferSpreadSheet.
> es.
> ...
> Dim objApp As Object
>
> Set objApp=CreateObject("Access.Application")
> objApp.OpenCurrentDatabase "c:\nomeCartella\nomeFile.mdb"
> objApp.Visible = true
> objApp.DoCmd.TransferSpreadSheet "nomeOggettoDaEsportare", ...parametri...
> ...
>
>
> Ciao.
> --
> Sergio MAZZA

Grazie Sergio.
Lo immaginavo ma speravo ci fosse un altro metodo che non conoscevo.
Procedo cos�, sperando di non intasare la memoria.

Ciao
Marco


Sergio MAZZA

unread,
May 27, 2009, 9:25:32 AM5/27/09
to
"Marco" <marco.de...@tiscali.it> ha scritto nel messaggio
news:4a1d2dde$0$714$5fc...@news.tiscali.it...

> Grazie Sergio.
> Lo immaginavo ma speravo ci fosse un altro metodo che non conoscevo.
> Procedo cos�, sperando di non intasare la memoria.
>
> Ciao
> Marco

Basta che ti ricordi di chiudere/distruggere le variabili oggetto sia prima
del termine della sub/function sia nella gestione degli errori...

Ciao.
--
Sergio MAZZA

Carlo Costarella

unread,
May 27, 2009, 1:13:02 PM5/27/09
to

"Marco" <marco.de...@tiscali.it> ha scritto nel messaggio
news:4a1c0553$0$6838$5fc...@news.tiscali.it...

In alternativa a quello che ti ha detto Sergio puoi esportare in testo
delimitato e usando l'estensione .csv. Leggi il comando "Print #".

Ciao, Carlo


Marco

unread,
May 28, 2009, 4:15:24 AM5/28/09
to

"Sergio MAZZA" <sergi...@tiscali.it> ha scritto nel messaggio
news:gvjf0b$uvt$1...@tdi.cu.mi.it...

> "Marco" <marco.de...@tiscali.it> ha scritto nel messaggio
> news:4a1d2dde$0$714$5fc...@news.tiscali.it...
>> Grazie Sergio.
>> Lo immaginavo ma speravo ci fosse un altro metodo che non conoscevo.
>> Procedo cos�, sperando di non intasare la memoria.

>>
>> Ciao
>> Marco
>
> Basta che ti ricordi di chiudere/distruggere le variabili oggetto sia
> prima del termine della sub/function sia nella gestione degli errori...
>
> Ciao.
> --
> Sergio MAZZA

Secondo te, una ADO.Connection non risolve?


Alessandro Baraldi

unread,
May 28, 2009, 4:35:32 AM5/28/09
to
...

> Secondo te, una ADO.Connection non risolve?

No... è questione di Modello ad Oggetti...!
Da VB6 per accedere ad un Modello Oggetti esterno ci si deve
appoggiare ad OLE Automation... passando appunto per l'interfaccia che
l'altro mette a disposizione.

Tieni presente che non tutto il codice VBA è compatibile in VB6...
anzi metodi tipici di VBA non sono proprio supportati in VB6....!!

Ciao
@Alex

0 new messages