Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    327

    [ACCESS]Collegare 2 tabelle

    Ciao a tutti, spero di aver postato nella sezione corretta.
    Allora ho creato un DB in access 2003:

    codice:
    Tabella Studenti:
    
    •id_studente  -->Chiave Principale
    •Nome
    •Cognome
    •Città
    •id_classe  -->Chiave Esterna
    
    Tabella Classe
    
    •id_classe  -->Chiave principale
    •Classe
    •Sezione
    Classe è padre di studenti.
    Devo collegare le 2 tabelle con la chiave esterna ovviamente, come faccio in access 2003??
    Grazie in anticipo
    By Games

  2. #2
    in SQl solitamente si scrive

    idclasse tipo_di_dato REFERENCES Classe(idclasse)
    poi non so in access prova a vedere se trovi il metodo per vedere il codice delle tabelle create e modificalo
    www.matteosteri.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    327
    grazie ma mi serve in access
    By Games

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    327
    Forse c'è l'ho fatta, cmq ho un dubbio.
    Quando voglio collegare 2 tabelle unisco le la chiave principale del padre con la chiave esterna del figlio giusto??
    In questo caso collego: studenti.id_classe con classi.id_classe ??
    By Games

  5. #5
    si giusto! ma non stai collegando la chiave del padre alla chiave esterna del figlio, ma proprio il contrario. ovvero stai dicendo che l'attributo chiave esterna del figlio è un attributo i cui records si trovano nella tabella padre e nell'attributo chiave del padre.
    www.matteosteri.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    327
    scusa ma non ho capito.

    Guarda questa img:



    Ho sbagliato??

    Adesso ho provato e le tabelle sono legate, ho fatto la squente query:

    codice:
    SELECT Classi.Classe, Classi.Sezione,Count (Classi.Classe)
    FROM Studenti,Classi
    WHERE Studenti.Id_classe=Classi.Id_classe
    GROUP BY Classi.Classe AND Classe.Sezione
    Mi da un errore e dice:"Impossibile eseguire una query che non include l'espressione "CLASSE" specificata come parte di una funzione di aggregazione

    Come mai??
    By Games

  7. #7
    io non uso Access però secondo me è sbagliata la query
    dove scrivi
    GROUP BY Classi.Classe AND Classe.Sezione
    al posto dell' AND metti una virgola

    inoltre nella group by devono essere presenti tutti gli attributi e non solo, presenti nella select

    prova e fammi sapere
    www.matteosteri.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    327
    l'errore me lo da quando faccio la count
    By Games

  9. #9
    Originariamente inviato da Games
    codice:
    SELECT Classi.Classe, Classi.Sezione,Count (Classi.Classe)
    FROM Studenti,Classi
    WHERE Studenti.Id_classe=Classi.Id_classe
    GROUP BY Classi.Classe AND Classe.Sezione
    Mi da un errore e dice:"Impossibile eseguire una query che non include l'espressione "CLASSE" specificata come parte di una funzione di aggregazione
    Prima di tutto, per rendere i collegamenti più chiari, indicherei nella query la dicitura INNER JOIN.
    Successivamente hai sbalgiato la sinstassi della clausola GROUP BY .
    Provo a trascrivere la query:
    codice:
    SELECT Classi.Classe, Classi.Sezione, Count (Classi.Classe)
    FROM Studenti INNER JOIN Classi ON 
    (Studenti.Id_classe=Classi.Id_classe )
    GROUP BY Classi.Classe, Classe.Sezione
    ORDER BY Classi.Classe

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    327
    Ma la prof l'ha scritta alla lavagna così, e ci ha detto di non usare la INNER JOIN perchè così è un sistema + potente, di conseguenza nn posso usarla.
    Cmq l'errore deriva dal count, ho anche provato in access a fare la query nn da sql e da sempre lo stesso errore.
    By Games

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.