Oppure

Loading
17/01/12 14:41
trattobasso
ciao a tutti eccomi alla disperata presa con db access. sto riuscnedo bene o male e fin'ora con il seguente codice riesco a leggere il contenuto di una tabelle:
    Dim selezione = New OleDbDataAdapter("SELECT * FROM Docenti", archivio)
               selezione.Fill(DataSet1, "Docenti")
               archivio.Close()
               DataGridView1.DataSource = DataSet1.Tables("Docenti")

e fin qui ci sono arrivato senza problemi ma, se avessi delle relazioni tra tabelle e la mia select includesse quindi WHERE, il Fill di DataSet1 non sarà più la tabella Docenti ma il risultato della query giusto? Come dovrei cambiare di conseguenza secondo voi a questo punto
    selezione.Fill(DataSet1, "??????????")
    DataGridView1.DataSource = DataSet1.??????

selezione.Fill(DataSet1, "??????????";)
DataGridView1.DataSource = DataSet1.??????
aaa
17/01/12 14:49
trattobasso
Scusate se riapro lo stesso come topic ma in ignoranza avevo postato il mio problema come domanda.
Riagganciandomi al post precedente sotto suggerimento di Renny ho modificato il tutto in:
Dim selezione = New OleDbDataAdapter("SELECT Docenti.Nome, Docenti.Cognome, Docenti.Luogo_di_nascita, Provincie.Provincia, Provincie.Comune, Provincie.Cognome FROM Docenti, Provincie WHERE Docenti.Cognome = Provincie.Cognome", archivio) 'Comando SQL
         selezione.Fill(DataSet1, "risultato")
         archivio.Close()
         DataGridView1.DataSource = DataSet1.Tables("risultato")

Il tutto sembra funzionare, solo che in datagrid mi aggiunge oltre alle campi che mi aspettavo quindi Nome,Luogo_di_nascita,Provincia,Comune anche dei campi che si chiamo appunto Docenti.Cognome e Provincie.Cognome

Mi viene suggerito di cambiare da FROM - WHERE a FROM - JOIN in quanto normalmente nel WHERE non viene accettatta più di una tabella come servirebbe nel mio caso.
Ora mi metto e vi farò sapere se e cosa riuscirò a fare.
Ciao e grazie.
aaa
17/01/12 15:13
trattobasso
L'equivalente della precedente query con il JOIN dovrebbe essere:
("SELECT Docenti.Nome, Docenti.Cognome, Docenti.Luogo_di_nascita, Provincie.Provincia, Provincie.Comune, Provincie.Cognome FROM Docenti INNER JOIN Provincie ON Docenti.Cognome = Provincie.Cognome", archivio
Infatti come risultato mi esegue un filtro in base al criterio desiderato ma, rimane il fatto che la datagrid rappresenta in più oltre al previsto il campi Docenti.Cognome e Provincie.Cognome
Scrivo qualcosa di sbagliato concettualmente o di sinstassi nella query?
Grazie
aaa
17/01/12 22:01
Renny
Ciao.. Ma.. a questo punto puoi toglierli dalla query direttamente..
prova così:
SELECT Docenti.Nome, Docenti.Cognome, Docenti.Luogo_di_nascita, Provincie.Provincia, FROM Docenti INNER JOIN Provincie ON Docenti.Cognome = Provincie.Cognome"
aaa
18/01/12 13:53
trattobasso
Ciao Renny,

fatto ma mi restituisce un'eccezzione oledb del tipo:
L'istruzione SELECT include una parola riservata o un argomento scritto in modo errato o mancante oppure la punteggiatura non è corretta.

Provo a vedere cosa riesco a capire e torno.

Ciao e grazie.
aaa
18/01/12 17:06
Renny
Ciao.
Dunque, io le query o le faccio con Access oppure uso visual Studio.
Il procedimento è lo stesso, selezioni i campi che ti servono, imposti il "criterio", cioè il WHERE e il gioco è fatto. Ti consiglio di usare i parametri.
Fai "imposta carattere parametri" e metti "@". Poi nei criteri scrivi =@ID, per filtrare per ID.
EDIT:
SELECT Docenti.Nome, Docenti.Cognome, Docenti.Luogo_di_nascita, Provincie.Provincia FROM Docenti INNER JOIN Provincie ON Docenti.Cognome = Provincie.Cognome

Ho tolto la virgola prima di FROM
Ultima modifica effettuata da Renny 18/01/12 17:08
aaa
26/01/12 19:58
trattobasso
ciao renny,
ecco infatti è quello che avevo tolto pure io la "," che era di troppo e appunto ora funziona.vorrei ringraziarti per la pazienza e per le spiegazioni, ora devo rivedere un attimo il concetto dei componenti della query perchè a distanza di una settimana mi sono già scordato diverse cose come per esempio:che ci fa Provincie.Provincia prima di FROM Docenti quando sono dati che si trovano in una cartella diversa da Provincie? Bha...devo ricapitolare un attimo.Grazie ancora e alla prossima.
aaa
27/01/12 8:53
Renny
Prego
e buon lavoro.
Alla Prossima! :k:
aaa