Esportare più record con una sola query [vba]

sabato 08 settembre 2012 - 19.12
Tag Elenco Tags  Access (.mdb)

thebusterazz Profilo | Newbie

ciao ragazzi, torno a chiedere il vostro aiuto.
Avrei la necessità di esportare una determinata query con parametri in formato testo; tuttavia vorrei attraverso codice far in modo che con una sola query, io possa fare delle esportazioni su tutti i record.

Mi spiego meglio:

Adesso per esportare tutti i record con la stessa query , ho dovuto creare una query per ogni record ed inserire una macro di esportazione.
La mia domanda è: è possibile automatizzare tutto con vba? Per fare in modo che fatta una volta la query, con un ciclo ne esporto una per ogni record della tabella?
Nel mio caso il record in questione rappresenta il criterio della query

Se non sono stato chiaro chiedetemi pure spiegazioni :)
grazie mille

DomA Profilo | Expert

Ciao,
potresti utilizzare un cliclo del tipo:
>>For ... Next

Cmq se posti il codice cercheremo di capire meglio.




http://www.infomidia.it

Domenico

thebusterazz Profilo | Newbie

ehm non ho un codice poichè lavoro con le macro attualmente.
In pratica ho due tabelle:

-terreni
-registro trattamenti

Voglio avere in una determinata cartella del pc, un file di testo contente tutti i trattamenti effettuati per quel determinato terreno. Attualmente per aggirare la mia ignoranza, ho creato una query per ogni record contenuto nella tabella "terreni", cioè ho creato tante query di "registro trattamenti" quanti sono i record di "terreni". Dopo di che ho creato un tasto al quale è associata una macro che mi esporta una per una le mie query.
Io vorrei essere in grado di non dover creare tante query quanti sono i record, ma anche non dovermi affidare alle macro per esportare tutte le query ( che attualmente sono un centinaio).
Sono un po in crisi :\

DomA Profilo | Expert

Allora posta il "codice" SQL della query. Apri una query e dalla barra clicca sul pulsante Visualizza (il 1° a sx) e scegli SQL ti apparirà un testo che devi copiare e postare. ù
Per la macro Clicca su Strumenti qundi sul pulsante Visual Basic il 1° a sx). dall'editor VBA trova la macro e posta il codice.
In alternativa, puoi allegare il file zippato.



http://www.infomidia.it

Domenico

thebusterazz Profilo | Newbie

query di uno dei tanti record

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

per quanto riguarda la macro è una semplice macro di esportazione. Ne ho fatta una per ogni query

DomA Profilo | Expert

Scusami,
se ho ben capito tu hai 2 tabelle:
1^) Scheda trattamenti;
2^) esempio Prprietari;

se è così dovresti mettere una chiave esterna (di tipo intero lungo) nella 1^ tabella chiamando il campo IDProprietario e non il nome del proprietario. Questo perché se, per un qualsiasi motivo, il nome dovesse essere cambiato la chiave garantisce l'univocità dei record.

Fatto ciò devi creare una relazione tra le due tabelle (si fa nella scheda relazioni) che ledhi il campo ID della tabella proprietari (impostato come chiave primaria) al campo IDProprietario della tabella Scheda trattamenti.

Così non dovrai costruire una query x ogni record.
Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico

thebusterazz Profilo | Newbie

eh su questo ok, ma per l'esportazione poi come posso fare? ne devo comunque fare una per ogni record?

DomA Profilo | Expert

Una volta create le 2 tabelle, come sopra, può fare ua query con una JOIN (per ogni proprietario cerchi i relativi record nella tabella Schede). Poi utilizzi la query stessa per l'esportazione ed hai risolto il problema.


Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico

thebusterazz Profilo | Newbie

si ma mi tocca comunque creare una query per ogni mio record? ( nell'ipotesi di voler avere una esportazione per ogni record)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5