Unire/accodare due tabelle per creare report

giovedì 13 settembre 2007 - 13.16

Dav-ide Profilo | Junior Member

Ciao a tutti, è da una settimana che provo a risolvere da me questo problema ma è arrivato il momento di chiedere aiuto.
Ho due tabelle sincronizzate tra loro solo con il campo "sData"...
Devo visualizzarle su un report in maniera da avere i dati soncronizzati; cioè i dati nella tabella 1 con data 20/08/2007 devono essere 'allineati' con la stessa data della tabella 2.

Provo a fare un piccolo esempio, queste sono le mie due tabelle:
TABELLA 1 TABELLA 2
sData|A1|A2|A3|A4 sData|B1|B2|B3|B4

e devo generare questo report:
sData|A1|A2|A3|A4|B1|B2|B3|B4

La mia domanda sono:
-Come dev'essere formattata la query da passare al report
-In 'esperto database' nella progettazione del report, ho aggiunto le mie due tabelle e le ho collegate tra loro sul campo sData (che non è la chiave primaria)... ho fatto bene?

Grazie mille
Davide

AndreaKpr Profilo | Senior Member

Ziao
Consiglio di fare una query di union tra le 2 tabelle
e di usarla come fonte dati per il report .

Dav-ide Profilo | Junior Member

Ciao. A dire la verità ho provato a fare la query con union, ma il report è sempre privo di dati.
Cosa intendi per "usare la query come fonte dati per il report"?

AndreaKpr Profilo | Senior Member


per un prb simile ho creato e salvato una query simile

Select Campo1, Campo2 from Tabella1
Union All
Select Campo1, Campo2 from Tabella2

Salvata come nome

e poi nel report ho fatto un gruppo sul campo1 (che era quello che dava l'ordinamento), dove però ho omesso i campi
e nel dettaglio ho metto ciè che volevo come elenco ...

Dav-ide Profilo | Junior Member

La mia giornata lavorativa è giunta al termine e domani proverò il tuo consiglio....
La domanda che però mi sorge è:
in 'esperto database' nella progettazione del report, a cosa mi serve collegare le due tabelle tra loro sul campo sData?!?
mi sembra che a questo punto l'unione viene fatta dalla query.... sono molto profano in fatto di report...

AndreaKpr Profilo | Senior Member


Infatti nel report non devi collegare le due tabelle.
Eliminale dall'esperto database e ci carichi la query di unione (chiamiamola 'Uniqu').
Prova e fammi sapere ! ;)

Dav-ide Profilo | Junior Member

Sai che non riesco a seguirti? Dove carico la query?
Da VB passo la query che mi hai consigliato con questo comando:
Query = "Select * from Tabella1 Union All Select * from Tabella2"
Dim da As New OleDb.OleDbDataAdapter(Query, connessione)
(ma come fa a collegare i due campi sDate se non glielo dico da nessuna parte?)
...Proprio non riesco a trovare nessun menu in CR dovew porterla inserire.
Ho tolto il il collegamento tra le due tabelle da esperto database, ok me l'ha fatto fare, ma mi dice che la presente configurazione di collegamento contiene punti di partenza multipli. Si avvisa che questo generalmente non è supportato....

AndreaKpr Profilo | Senior Member

>Sai che non riesco a seguirti? Dove carico la query?
>Da VB passo la query che mi hai consigliato con questo comando:
>Query = "Select * from Tabella1 Union All Select * from Tabella2"
>Dim da As New OleDb.OleDbDataAdapter(Query, connessione)
>(ma come fa a collegare i due campi sDate se non glielo dico
>da nessuna parte?)
>...Proprio non riesco a trovare nessun menu in CR dovew porterla
>inserire.
>Ho tolto il il collegamento tra le due tabelle da esperto database,
>ok me l'ha fatto fare, ma mi dice che la presente configurazione
>di collegamento contiene punti di partenza multipli. Si avvisa
>che questo generalmente non è supportato....

Alora, mi manca una cosa...
Le due tabelle dove sono salvate in Access o SqlServer ???

Dav-ide Profilo | Junior Member

...access....

AndreaKpr Profilo | Senior Member


Ok, bene
Ora In access crei una Query, chiamandola per Ex UniQu, dove fai la Union delle due tabelle.
Provi in access il risultato, per vedere se ottieni ciò che ti serve.
Dopo di che nel report non legi le due tabelle ma carichi solo la Query UniQu al posto delle due tabelle
Quindi non devi fare nessuna join..., nel report.
Fammi sapere

Dav-ide Profilo | Junior Member

Perfetto!!! Ho seguito i tuoi consigli (PREZIOSISSIMI) e sono riuscito ad ottenere ciò che volevo. La cosa non mi convince molto perchè preferivo farlo tutto da codice (ho più di 15 database in rete e devo fare la query su tutti!), ma evidentemente non si può (me lo confermi?)... e se per caso ora volessi fare la stessa cosa non tra tabelle dello stesso file ma tra tabelle contenute in file diversi?... COmunque grazie ancora!

AndreaKpr Profilo | Senior Member

>Perfetto!!! Ho seguito i tuoi consigli (PREZIOSISSIMI) e sono
>riuscito ad ottenere ciò che volevo. La cosa non mi convince
>molto perchè preferivo farlo tutto da codice (ho più di 15 database
>in rete e devo fare la query su tutti!), ma evidentemente non
>si può (me lo confermi?)... e se per caso ora volessi fare la
>stessa cosa non tra tabelle dello stesso file ma tra tabelle
>contenute in file diversi?... COmunque grazie ancora!

Ciao.

Per fare dei report con database diversi devi, nel database master (diciamo quello + importate), collegare le tabelle
e creare la query usando la tabella in linea (proprietaria del db) e quella collegata (database remoto).

Non credo che tu possa passare al report la fonte dati a runtime (inteso come dataset), anche perche come faresti a creare il report in desing ???


Dav-ide Profilo | Junior Member

Grazie mille!
A buon rendere...

AndreaKpr Profilo | Senior Member

Figùres !
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5