Problemi con le relazioni tra tabelle

di il
5 risposte

Problemi con le relazioni tra tabelle

Salve a tutti,

premetto che il quesito credo sia piuttosto banale, ma non mi capita spesso di dover progettare qualcosa in Access; di seguito il problema:
ho 2 tabelle che vorrei mettere in relazione tra loro (1 a molti):

1° tabella ( relazione 1)
ID (numerazione automatica)
BUYER (testo breve)
Codice buyer (testo breve)

2° tabella(relazione molti)
ID (numerazione automatica)
CODICE FORNITORE (teto breve)
RAGIONE SOCIALE (testo breve)
ID Secondario (numerico)

quello che vorrei ottenere è vedere i fornitori assegnati ad un buyer dalla tabella 1 realizzando successivamente delle maschere di inserimento dati ed altre per la visualizzazione.

Il problema che quando vado a collegare l'ID della 1° tabella con l'ID Secondario nella seconda il sistema accetta la relazione e l'integrità referenziale, ma quando vado ad aprire la tabella 1 cliccando sul + del record non trovo i dettagli presenti nella tab2; andando a vedere la tab 2 il campo ID secondario è vuoto; se però vado a popolare manualmente l'ID secondario inserendo il relativo ID della prima tabella, riesco da quest'ultima a vedere i dettagli per ogni record.

Perchè l'ID secondario non si popola automaticamente?
devo confessare che avevo chiesto aiuto per lo stesso problema in una chat, ma non riesco più ad entrarci... spero vorrete aiutarmi ugualmente.

Grazie
Nik1960

5 Risposte

  • Re: Problemi con le relazioni tra tabelle

    Ciao.

    La relazione è giusta.
    Non mi è chiaro però come immetti i dati sia nella tabella fornitore, sia nella tabella venditore.
    se crei le tabelle e non immetti i dati, con una form o in un altro metodo, è normale che le tabelle siano vuote.
    Infatti, quando poi vai a popolare le tabelle con i dati collegati nel modo giusto, le tabelle non sono più vuote.

    Quindi, in base al tuo approccio al problema ed alle tue competenze attuali, ti consiglio di usare "Creazione guidata maschera", per creare una maschera per immettere i dati nelle tabelle.
    Oppure ancora più velocemente, selezioni la tabella venditore e poi clicchi su "Crea maschera". Farà tutto access.
    Da li potrai immettere il venditore ed i fornitori.
    Sorgeranno poi un sacco di altre esigenze, ma intanto creiamo uno strumento per immettere i dati.
  • Re: Problemi con le relazioni tra tabelle

    Ciao Fratac,

    intanto grazie per la risposta.

    entrambe le tabelle sono popolate prima di creare la relazione, ovviamente non è popolato il campo ID secondario della seconda tabella.
    Se provo ad inserire dei dati nella seconda tabella, dopo aver creato la relazione, il sistema mi da il seguente errore:
    "Impossibile aggiungere o modificare il record. Nella TBL_ uno è necessario un record correlato"
  • Re: Problemi con le relazioni tra tabelle

    Per capire che cosa hai realizzato e quindi aiutarti dovresti almeno allegare un'immagine della finestra delle Relazioni.
  • Re: Problemi con le relazioni tra tabelle

    Nik1960 ha scritto:


    Ciao Fratac,

    intanto grazie per la risposta.

    entrambe le tabelle sono popolate prima di creare la relazione, ovviamente non è popolato il campo ID secondario della seconda tabella.
    Se provo ad inserire dei dati nella seconda tabella, dopo aver creato la relazione, il sistema mi da il seguente errore:
    "Impossibile aggiungere o modificare il record. Nella TBL_ uno è necessario un record correlato"
    No, no, no, no.

    Non stai lavorando con excel che puoi creare manualmente gli indici anche dopo che hai migliaia di dati inseriti.
    I database non funzionano con questa logica. E' possibile modificare o creare indici su tabelle già popolate, ma è un lavoro immane.

    Ripartiamo da zero.
    Cancella tutti i record da ogni tabella che utilizzi.
    Fai le relazioni che ti occorrono.
    Seleziona la tabella che utilizzerai per salvare i dati.
    clicca su crea maschera.
    creata la maschera usala per immettere i dati.

    Vedrai che tutto funzionerà.

    Visivamente dovrai ottenere una cosa simile a questa:
    venditore.jpg
    venditore.jpg

  • Re: Problemi con le relazioni tra tabelle

    Nik1960: ti consiglio di nominare i campi in modo esplicito. Per esempio IDBuyer che puoi usare sia come PK nella tabella Buyers (non chiamarla 1a tabella), sia come FK nella tabella Fornitori (non chiamarla 2a tabella). Idem il campo IDFornitore, PK nella tabella Fornitori.
Devi accedere o registrarti per scrivere nel forum
5 risposte