n° 186
Luglio/Agosto 2013
Giugno 19, 2013, 03:52:56 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  

* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Creazione report o stampa unione di 2 database differenti.  (Letto 2187 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
barzi
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« inserita:: Maggio 23, 2012, 04:29:54 pm »

Salve,
io ho 2 database access che contono ciascuno oltre mille righe.
Volendo potrei esportare la tabella di uno e importarla nell'altro ma comunque avrei 2 tabelle distinte nel solito database.

Il mio problema è creare un report o una stampa unione su word potendo prendere solo alcuni campi di una riga di entrambe le tabelle...

Su word con stampa unione sono riuscito a fare un perfetto report importanto una qualsiasi riga che voglio io e solo i campi che scelgo, ma come faccio poi ad aggiungere dati importati da un'altra tabella???
Registrato
ctraversa
Jr. Member
**

Karma: +14/-7
Scollegato Scollegato

Messaggi: 155


Mostra profilo
« Risposta #1 inserita:: Maggio 24, 2012, 07:41:20 am »

Ciao barzi.

Premesso che da VBA potresti istanziare 2 connessioni (una al DB corrente ed una al secondo), una cosa del genere non è fattibile poichè ad esempio non potresti mettere in join delle tabelle dal momento che sono su differenti database. Giusto per dirne una.

Volendo proprio cimentarsi in qualcosa del tipo "o' famo strano" immagino che almeno le tabelle/query di selezione presenti sui due database siano identiche per cui non ci sono join da eseguire. Se sì, come prima detto, potresti tramite il VBA istanziare due connessioni differenti (una a ciascun database).
Ora se gestisci lato codice gli opportuni eventi legati alla generazione del report (ad esempio quello della pagina successiva) potresti intercettare l'evento ed in esso mettere la logica necessaria a prendere i dati per il report da un DB o dall'altro sfruttando le 2 diverse connessioni con la logica che più ti conviene.

Tuttavia te lo sconsiglio. Fai prima a fare una query di append o simile e riportare tutti i dati su un unico db e fare tutto ciò che ti serve.
Registrato
gibra
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 21



Mostra profilo WWW
« Risposta #2 inserita:: Maggio 24, 2012, 11:19:24 am »

Occorre eseguire 2 semplici operazioni preliminari (solo la 1ª volta)

1. devi 'linkare' le tabelle del secondo database con il primo database
il come farlo potrebbe essre diverso in base alla versione di Office che possiedi.
Io ho la 2010 e seleziono la scheda 'Dati esterni' e poi 'Access', mi si apre la finestra con le due opzioni:
- Importare....
- Collegare....
Devi scegliere Collegare (così le tabelle resteranno collegate ed i dati si aggiornano automaticamente quando aggiungerai od eliminerai dei record).
Fatta questa operazione, vedrai nel tuo DB1 le tabelle del secondo database (puoi distinguerle perchè, diversamente dalle altre, l'immagine della tabella mostra una piccola freccia).
Se la tabella che colleghi ha lo stesso nome di una del DB1, Access la numera automaticamente (es. Clienti -> sarà Clienti1).
Ovvio i 2 database non dovranno mai essere spostati, altrimenti il collegamente risulterà corrotto, in questo caso dovrai ripetere l'operazione.

2. ora nel database 1 devi creare e salvare una query di selezione che prelevi i dati che ti servono dalle due (o più) tabelle.
Esempio, supponiamo che nella tabella (A) CLIENTI hai i nomi e nella tabella (B) INDIRIZZI hai gli indirizzi, e che il campo 'chiave' che relaziona le due tabelle è IDCliente:

Codice:
SELECT a.Nome, a.Cognome, b.indirizzo, b.CAP, b.Comune, b.Provincia
FROM CLIENTI a INNER JOIN INDIRIZZI b ON a.IDCliente = b.IDCliente
ORDER BY a.Cognome, a.Nome

Salvi la query con il nome: RUBRICA

Fatto.

Ora da Word fai:
- Seleziona destinatari
- usa elenco esistente
- selezioni il tuo database
- e poi come tabella scegli: RUBRICA

Adesso puoi aggiungere i campi che avrai selezionati nella query.


 Sorriso
Registrato

barzi
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« Risposta #3 inserita:: Maggio 24, 2012, 11:54:22 am »

Quello che ha detto gibra sarebbe perfetto!

ho access 2010 quindi provo a farlo, mi preoccupa la creazione della query selezione, non mastico tanto bene i codici...
Registrato
gibra
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 21



Mostra profilo WWW
« Risposta #4 inserita:: Maggio 24, 2012, 02:18:18 pm »

Quello che ha detto gibra sarebbe perfetto!

ho access 2010 quindi provo a farlo, mi preoccupa la creazione della query selezione, non mastico tanto bene i codici...
Buon motivo per imparare...  Ghigno

Fatti 'aiutare' da Access  Occhiolino

Vai sulla scheda Crea e poi seleziona il pulsante Creazione guidata query oppure ancor meglio Creazione struttura (più semplice)

A differenza del mio codice di esempio (che usa gli alias per le tabelle: a.Cognome) Access userà direttamente il nome della tabella, ovvero: Clienti.Cognome

 Sorriso
Registrato

barzi
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« Risposta #5 inserita:: Maggio 28, 2012, 08:58:10 am »

Ho provato ma non funziona, ti spiego:

Ho un database con 2 tabelle, Risultati e Analisi, in entrambe le tabelle c'è un campo comune,N° Coil, io scritto questo:

SELECT Risultati.Cliente, Risultati.DDTn°, Risultati.N°Coil, Risultati.RifCollo, Risultati.Qualità, Risultati.CopertutaZinco, Risultati.N°Certificato, Risultati.IDProvino, Risultati.Rp02, Risultati.ReH, Risultati.ReL, Risultati.Rm, Risultati.A80, Analisi.C, Analisi.Si, Analisi.Mn, Analisi.P, Analisi.S, Analisi.Ti
FROM Risulati INNER JOIN Analisi ON Risultati.N°Coil = Analisi.N°Coil
ORDER BY Risultati.N°Coil


Mi dici errore di sintassi sul join.
Registrato
barzi
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« Risposta #6 inserita:: Maggio 28, 2012, 09:41:27 am »

ce l'ho fatta!!! grazie a tutti
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2011 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page