Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Ho fatto una union di due tabelle . come faccio a creare una tabella c...
domenica 24 dicembre 2006 - 01.58
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ken87
Profilo
| Junior Member
67
messaggi | Data Invio:
dom 24 dic 2006 - 01:58
Una volta che faccio esequire la unin.
Come si fa in visual basic 2005 a creare una tabella e metterci i dati calcolata dalla unio.
Sono costretto a fare questo perche poi devo prendere il risultato della union messo in una tabella e fare una join con un altra tabella
Tabella dati calcolata dalla union
join
tabella2
Ma i dati gli mette nel dataset.
Oppure e possibile fare join usando il data set?
Qualsiasi soluzioe va bene basta che possa fare la mia nuova query .
come posso fare?
Aiutatemi?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
dom 24 dic 2006 - 11:05
Ovviamente nel dataset non si possono fare union (a meno di non sviluppare una classe helper che fa il lavoro di sort-merge dei dati), nè si possono mettere le table del dataset in union con tabelle dell'origine dati.
Per realizzare una vista che abbia come origine l'unione di più tabelle è necessario pertanto agire "lato database" impostando nel command l'istruzione sql appropriata.
Ovviamente il risultato di una join o altra union produce un rowset non modificabile, nel caso di vogliano fare delle modifiche credo sia opportuno agire sulle tabelle individualmente oppure "avere a che fare" con una stored procedure che si preoccupa "lei" di fare gli aggiornamenti.
ken87
Profilo
| Junior Member
67
messaggi | Data Invio:
mar 26 dic 2006 - 01:55
la mi union fuzionante è quetsta
:
unione = ("SELECT Consuntivo.MATRICOLA, Consuntivo.RAG, Consuntivo.DATA," + "nz(budgetd.BG1_gen,0) AS bg1_gen," + _
"nz(Consuntivo.EFFMESE,0) AS Cons, [BG1_gen]-[cons] AS Scostamento, nz(budgetd.bgprog,0) AS bgprog," + _
" nz(Consuntivo.EFFANNO,0) AS Consprog, [bgprog]-[consprog] AS Scotprog" + _
"FROM budgetd right JOIN Consuntivo ON (budgetd.Badge=Consuntivo.MATRICOLA) AND (budgetd.Ragg=Consuntivo.RAG) AND (budgetd.data=Consuntivo.DATA" + _
"union" + "SELECT budgetd.Badge, budgetd.Ragg, budgetd.DATA, nz(budgetd.BG1_gen,0) AS bg1_gen, " + _
"nz(Consuntivo.EFFMESE,0) AS Cons, [BG1_gen]-[cons] AS Scostamento," + _
"nz(budgetd.bgprog,0) AS bgprog, nz(Consuntivo.EFFANNO,0) AS Consprog, [bgprog]-[consprog] AS Scotprog" + _
"FROM budgetd left JOIN Consuntivo ON (budgetd.data=Consuntivo.DATA) AND (budgetd.Ragg=Consuntivo.RAG) AND (budgetd.Badge=Consuntivo.MATRICOLA)")
Come faccio a fare quello che mi hai detto?
La union l'ho fatta ma ora non so come andare avanti.
Come faresti per metterla nella tabella.
Oppure come posso fare usando il database..
Aiuto...
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 26 dic 2006 - 07:47
Se hai la tua query non devi far altro che metterla su un dataadapter.
Dim da As New OleDbDataAdapter(myquery,myconnection)
e successivamente generare il dataset
da.Fill(myDataset,"Vista")
Ovviamente per utilizzare i comandi di modifica devi manualmente impostare updatecommand, deletecommand e insertcommand
ken87
Profilo
| Junior Member
67
messaggi | Data Invio:
mar 26 dic 2006 - 18:45
il problema e che devo fare una query agguntiva se fosse il risultato finale sono riuscito a visualizzare i dati mettendola in data set.
Ma necessita di creare una tabella nel database.
Metterci i dati della union
Fare una nuova query.
e visuali8zzare i dati..
A proposito auguri di buon natale
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
mer 27 dic 2006 - 12:34
come ti hanno detto dovresti lavorare lato database.
Potresti crearti una vista sul db (che dbms usi?) e poi interrogarla normalmente dal programma
ken87
Profilo
| Junior Member
67
messaggi | Data Invio:
mer 27 dic 2006 - 18:46
il database e in acess.
Come si fa?
Ho provato fare una conessione al database.
Ora dovrei creare la tabella nel database acess ma come si fa?
non l'ho mai fatto?
ecco coso ho fatto.
ho creato una tabella uni nel database poi
StringaQuery = "Delete * from uni"
'QueryInserimento = New OleDb.OleDbCommand(StringaQuery, connection)
'QueryInserimento.ExecuteNonQuery()
unione = "SELECT Consuntivo.MATRICOLA, Consuntivo.RAG, Consuntivo.DATA,iif(isnull(budgetd.BG1_gen),0, budgetd.BG1_gen)AS bgm," + _
"iif(isnull(Consuntivo.EFFMESE),0, Consuntivo.EFFMESE) AS Cons," + "BGM-cons AS Scostamento, iif(isnull(budgetd.bgprog),0, budgetd.bgprog) AS bgp," + _
"iif(isnull(Consuntivo.EFFANNO),0,Consuntivo.EFFANNO) AS Csp,bgp-csp AS Scotprog" + _
" FROM budgetd right JOIN Consuntivo ON (budgetd.Badge=Consuntivo.MATRICOLA) AND (budgetd.Ragg=Consuntivo.RAG) AND (budgetd.data=Consuntivo.DATA)" + _
"union" + " " + _
" SELECT budgetd.Badge, budgetd.Ragg, budgetd.DATA,iif(isnull(budgetd.BG1_gen),0,budgetd.BG1_gen)AS bgm," + _
"iif(isnull(Consuntivo.EFFMESE),0, Consuntivo.EFFMESE) AS Cons," + "BGM-cons AS Scostamento, iif(isnull(budgetd.bgprog),0, budgetd.bgprog) AS bgp," + _
"iif(isnull(Consuntivo.EFFANNO),0,Consuntivo.EFFANNO) AS Csp,bgp-csp AS Scotprog" + _
" FROM budgetd left JOIN Consuntivo ON (budgetd.data=Consuntivo.DATA) AND (budgetd.Ragg=Consuntivo.RAG) AND (budgetd.Badge=Consuntivo.MATRICOLA)"
StringaQuery = unione + " into uni from " & unione
QueryInserimento = New OleDb.OleDbCommand(StringaQuery, connection)
QueryInserimento.ExecuteNonQuery()
poi ho tentantato di riempirta col codice sotto.
Poi mi questo errore
Errore di sintassi (operatore mancante) nell'espressione della query '(budgetd.Badge=Consuntivo.MATRICOLA) AND (budgetd.Ragg=Consuntivo.RAG) AND (budgetd.data=Consuntivo.DATA)union SELECT budgetd.Badge'.
perche?
e mi si blocca il programma.
Torna su
Stanze Forum
Elenco Threads
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 !