Newsgroup: it.comp.appl.access
Titolo: richiamare da VBA query contenente codice Access

Ho creato una query "Query1" che in un campo richiama una funzione VB
("ContaLavorativi") per il calcolo dei giorni lavorativi intercorrenti
tra due campi dello stesso record.
Ho cercato poi di applicare una sintassi SQL da codice VB in Excel per
raggruppare e sommare alcun campi della Query1 ma ottengo di rimando il
solito Errore 3085 (undefined function ...) perchè il VB di Excel non
riconosce il codice VB ("ContaLavorativi") definito nel file Access
contenente la Query1.
Accedo dall'esterno (Excel) perchè ho poi necessità di elaborare i
dati della Query1 (e di altre queries contenute in diversi file .mdb) e
poi aggiornare il file excel.
Come posso risolvere il problema?
Cla68

 ha scritto nel messaggio news:1130953084....@z14g2000cwz.googlegroups.com...

Cla68
[risposta]
Puoi tradurlo in italiano?
Ciao.
-- 
Sergio MAZZA 

 Ciao.
;-)
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
<-+->
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Va beh, adesso ci riprovo.
Ho un file excel con del codice VB da cui tento di richiamare
(attraverso una SELECT * FROM query) una query contenuta in un altro
file Access.
Questa query contiene un campo con del codice VB definito in un modulo
dello stesso file mdb.
Pertanto eseguendo il codice VB del file excel ottengo un errore di
runtime 3085 perchè il codice in esecuzione non riconosce quello
definito nel file Access.
Grazie,
Cla68

 ha scritto nel messaggio news:1130960255.4...@g43g2000cwa.googlegroups.com...
Va beh, adesso ci riprovo.
Ho un file excel con del codice VB da cui tento di richiamare
(attraverso una SELECT * FROM query) una query contenuta in un altro
file Access.
Questa query contiene un campo con del codice VB definito in un modulo
dello stesso file mdb.
Pertanto eseguendo il codice VB del file excel ottengo un errore di
runtime 3085 perchè il codice in esecuzione non riconosce quello
definito nel file Access.
Grazie,
Cla68
[risposta]
Probabilmente devo aggiornare la release del mio traduttore...
Quello che hai descritto assomiglia alle matrioske; vediamo se riesco a rissumerlo: tu (da excel) con VBA esegui una query che a sua 
volta fa riferimento ad una query contenuta in un mdb (access). Quest'ultima ha, al suo interno, un riferimento ad un "codice VB" 
che (sembra) non possa essere eseguito. Ci sono andato vicino?
A questo punto mi chiedo: che farà mai di tanto difficile questo "codice VB" (in access) che excel non possa eseguire?
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Hai capito bene. La query di Access ha un campo calcolato che utlizza
del codice VB; il codice VB calcola, per ciascun record della query, i
giorni lavorativi che intercorrono tra due date della query stessa.
Come suggerisci tu, dovrei da excel eseguire un ciclo tipo While...Wend
su tutti i record della query, leggendo le due date ed eseguendo il
calcolo dei giorni lavorativi. Il risultato corrispondente a ciascun
record poi dove lo memorizzo? devo creare una tabella in Access dove
inserire i risultati dell'elaborazione? vorrei evitare questa soluzione
per non appesantire le dimensioni del file di Access.
Cla68

 ha scritto nel messaggio news:1131015924.4...@z14g2000cwz.googlegroups.com...
Hai capito bene. La query di Access ha un campo calcolato che utlizza
del codice VB; il codice VB calcola, per ciascun record della query, i
giorni lavorativi che intercorrono tra due date della query stessa.
Come suggerisci tu, dovrei da excel eseguire un ciclo tipo While...Wend
su tutti i record della query, leggendo le due date ed eseguendo il
calcolo dei giorni lavorativi. Il risultato corrispondente a ciascun
record poi dove lo memorizzo? devo creare una tabella in Access dove
inserire i risultati dell'elaborazione? vorrei evitare questa soluzione
per non appesantire le dimensioni del file di Access.
Cla68
[risposta]
Partiamo da punti fissi: il codice VBA di excel è lo stesso di access.
Excel quindi, può creare e gestire dei recordset originati da tabelle/query.
Poi se agisci da excel non appesantisci access visto che leggi solo i dati, se vuoi una "tabella di appoggio" puoi utilizzate un 
foglio di lavoro...
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Ho comunque risolto creando una Tabella di appoggio in Access che
genero dal codice contenuto nel file excel; copio i record della famosa
query nella tabella con un ciclo While Not Query.EOF ... Wend,
aggiungendo nel ciclo ricorsivo anche il campo calcolato con i giorni
lavorativi; eseguo una serie di queries su questa Tabella, metto i
risultati delle queries nel file excel e poi elimino la Tabella.
Grazie, Cla68