Discussione:
Query Excel - Access
(troppo vecchio per rispondere)
Stefano Ratto
2007-07-11 07:02:10 UTC
Permalink
Buongiorno a tutti,
è la prima volta che scrivo e chiedo scusa se la domanda può sembrare
scontata, ma non sono riuscito a trovare una risposta soddisfacente.

Il problema è questo:

ho creato per un mio cliente un piccolo database in Access, e diversi fogli
di Excel che accedono a questo database per recuperare dati attraverso delle
query (uso Office 2000).
Naturalmente ogni query è salvata nel corrispondente file .dqy. Ora devo
trasferire il tutto sul computer del cliente, nel quale il percorso del file
.mdb cui accedono le query sarà ovviamente diverso da quello del mio
computer.
Nella mia beata ignoranza (è la prima volta che uso Excel per accedere a
dati di Access) credevo che fosse sufficiente modificare con il blocco note
i singoli file .dqy, modificando in ciascuno il percorso del file .mdb, ma
provando non funziona, mi sembra che Excel conservi comunque la definizione
precedente della query.
E' necessario ricreare tutte le query sul computer del cliente (sob) o
esiste un metodo più ragionevole ?

Grazie in anticipo a chi volesse/potesse rispondermi.

Stefano
Mauro Gamberini
2007-07-11 08:49:11 UTC
Permalink
Post by Stefano Ratto
Buongiorno a tutti,
è la prima volta che scrivo e chiedo scusa se la domanda può sembrare
scontata, ma non sono riuscito a trovare una risposta soddisfacente.
<cut>

Non ho capito cosa stai provando di fare.
Mi sono registrato una Query(.dqy) che ho salvato sul
Desktop. Questo è ciò che vedo aprendola
con il blocco note:

XLODBC
1
DSN=Database di Microsoft Access;DBQ=C:\Documents and
Settings\Mauro\Documenti\db2.mdb;DefaultDir=C:\Documents and
Settings\Mauro\Documenti;DriverId=25;FIL=MS
Access;MaxBufferSize=2048;PageTimeout=5;
SELECT articolo.idArticolo, articolo.descrizione FROM `C:\Documents and
Settings\Mauro\Documenti\db2`.articolo articolo


idArticolo descrizione

Ho spostato il db nel disco C: e spostato il file .dqy
in un'altra Directory(non importa quale), modificando così il file .dqy:

XLODBC
1
DSN=Database di Microsoft
Access;DBQ=C:\db2.mdb;DefaultDir=C:\;DriverId=25;FIL=MS
Access;MaxBufferSize=2048;PageTimeout=5;
SELECT articolo.idArticolo, articolo.descrizione FROM `C:\db2`.articolo
articolo


idArticolo descrizione

Se faccio doppio click sul file .dqy, tutto funziona tranquillamente.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Stefano Ratto
2007-07-11 09:51:58 UTC
Permalink
Post by Mauro Gamberini
Post by Stefano Ratto
Buongiorno a tutti,
è la prima volta che scrivo e chiedo scusa se la domanda può sembrare
scontata, ma non sono riuscito a trovare una risposta soddisfacente.
<cut>
Non ho capito cosa stai provando di fare.
Mi sono registrato una Query(.dqy) che ho salvato sul
Desktop. Questo è ciò che vedo aprendola
XLODBC
1
DSN=Database di Microsoft Access;DBQ=C:\Documents and
Settings\Mauro\Documenti\db2.mdb;DefaultDir=C:\Documents and
<cut>

Anche io ho fatto modifiche analoghe al file .dqy.
Solo che io non voglio aprire Excel facendo doppio clic sul file della
query, ma voglio fare doppio clic su un file Excel che al suo interno
contiene altre informazioni e, in una certa area, i dati recuperati dalla
query.
Quando faccio questo, dopo aver spostato il db ed aver aggiornato come fai
tu il file della query, all'apertura del file Excel mi viene segnalato che
non si riesce a trovare il file del db, e nella finestra di errore mi viene
indicato il percorso del file di db PRIMA dello spostamento. E' come se il
file di Excel conservasse le informazioni sulla query precedente, senza
tenere conto delle modifiche introdotte nel file .dqy.

Ciao
Stefano
Mauro Gamberini
2007-07-11 10:06:48 UTC
Permalink
Post by Stefano Ratto
Anche io ho fatto modifiche analoghe al file .dqy.
Solo che io non voglio aprire Excel facendo doppio clic sul file della
query, ma voglio fare doppio clic su un file Excel che al suo interno
contiene altre informazioni e, in una certa area, i dati recuperati dalla
query.
Quando faccio questo, dopo aver spostato il db ed aver aggiornato come fai
tu il file della query, all'apertura del file Excel mi viene segnalato che
non si riesce a trovare il file del db, e nella finestra di errore mi
viene indicato il percorso del file di db PRIMA dello spostamento. E' come
se il file di Excel conservasse le informazioni sulla query precedente,
senza tenere conto delle modifiche introdotte nel file .dqy.
Questa macro ti darebbe la possibilità di modificare i tuoi
riferimenti. E' da adattare ai tuoi riferimenti:

Public Sub m()

ActiveSheet.QueryTables.Item(1).Delete
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Database di Microsoft Access;DBQ=C:\Documents and
Settings\Mauro\Documenti\db2.mdb;DefaultDir=C:\Documents and Settings\Mau" _
), Array( _
"ro\Documenti;DriverId=25;FIL=MS
Access;MaxBufferSize=2048;PageTimeout=5;")), _
Destination:=Range("C1"))
.CommandText = Array( _
"SELECT articolo.idArticolo, articolo.descrizione" & Chr(13) & "" &
Chr(10) & "FROM `C:\Documents and Settings\Mauro\Documenti\db2`.articolo
articolo" _
)
.Name = "2Access"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

End Sub
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Stefano Ratto
2007-07-11 16:13:48 UTC
Permalink
Grazie.
Non ho ancora avuto modo tempo per provare ma mi sembra proprio che la
strada sia quella giusta !

Ciao
Stefano

Loading...