Table aggiornata tramite autofill con dati presi da altre 2 tables

di il
4 risposte

Table aggiornata tramite autofill con dati presi da altre 2 tables

Buonasera,

ho creato questo database per gestire un inventario.
Questo riporta i dati in una table "Inventario" che contiene i campi:
- Titolo
- Codice a barre
- Edizione
- Lingua

e una lista di contenuti.

Ho integrato il database con un'altra table "Persone" contenente:
- Persona
- Codice personale

e una lista di persone.

E un Form"Prelievo" che, inserendo Codice a Barre e Codice personale riempisse un'altra table "Eventi" che contenesse:
- Titolo
- Codice a barre
- Edizione
- Lingua
- Persona
- Codice personale
- Data e Ora

Attualmente il form funziona correttamente inserendo solamente i due valori "Codice a Barre" e "Codice personale"

Volevo sapere se ci fosse qualche modo per far sì che gli altri cambi si riempissero in automatico prendendo i dati dalle altre due table ed utilizzando i valori "Codice a Barre" e "Codice personale" come valori di controllo per l'autofill.
Spero di essermi spiegato chiaramente e ringrazio per l'aiuto.

Buona serata

4 Risposte

  • Re: Table aggiornata tramite autofill con dati presi da altre 2 tables

    Non si si riempiono le tabelle (duplicando i dati) è sufficiente porre in relazione le tabelle, di interesse, attraverso le loro chiavi comuni.
  • Re: Table aggiornata tramite autofill con dati presi da altre 2 tables

    1. Abituati a nominare le tabelle al PLURALE e con denominazioni chiare/inequivocabili con il resto dei campi che le rappresenteranno.
    2. Ogni tabella deve avere un campo CHIAVE PRIMARIA, generalmente di tipo "numerazione automatica".
    3. Come accennato anche da willy55, le "tabelle figlie" devono avere anche un campo CHIAVE ESTERNA di tipo "numerico".
    4. Conseguenza dei punti 2.-3. apporre opportune relazioni uno-a-molti.
  • Re: Table aggiornata tramite autofill con dati presi da altre 2 tables

    Buongiorno,
    grazie per la risposta e per i consigli.
    Da quello che ho capito non è possibile che:
    - immettendo i dati "Codice a Barre" e "Codice personale" nella Table "Eventi" tramite il Form "Prelievo"
    - I campi "Titolo", "Edizione", "Lingua" e "Persona" non possono essere riempiti in automatico prendendo i rispettivi dati dalle Tables "Inventario" e "Persone"
    giusto?
    L'unica cosa che ho visto è un inserimento con menù a tendina.
    Nel caso mi sbagliassi, potreste cortesemente descrivermi come fare?
    Nel caso non fosse possibile con una Table, è per caso possibile con una Query?
    Se sì, potreste descrivermi come?

    Grazie ancora per l'aiuto
  • Re: Table aggiornata tramite autofill con dati presi da altre 2 tables

    Non hai le idee chiare su CHIAVE PRIMARIA (PK) e CHIAVE ESTERNA (FK).

    Prova a ripensare le tue tabelle così:
    Inventario
    IDInventario (PK)
    Titolo
    Codice a barre
    Edizione
    Lingua

    Persone
    IDPersona (PK)
    Persona
    Codice personale (se questo campo è certamente "univoco" potresti usarlo come PK...io ho preferito aggiungere IDPersona solo per prassi in "stile accademico"…)

    Osserva la tua tabella Prelievi (che ne dici di rinominarla al plurale?). La riscrivo "raggruppando" ricordando i campi delle tabelle "madri" (Inventario e Persone)
    Titolo
    Codice a barre
    Edizione
    Lingua

    Persona
    Codice personale

    Data e Ora

    I primi 4 campi devono rappresentare tutti e 4 messi insieme "un valore" che li riassume in un colpo solo dalla tabella Inventario, ossia un campo "chiave esterna". Idem dicasi per i 2 campi che "ricordano" Persone. Adesso ripensa la tabella Prelievi così:
    IDPrelievo (PK) (anche se superfluo, io ce lo metterei in ogni caso)
    IDInventario (FK)
    IDPersona (FK)
    Data e Ora

    A questo punto devi aprire la Finestra Relazioni, importare tutte le tabell e impostare le relazioni così:
    Inventario.IDInventario uno-a-molti Prelievi.IDInventario
    Persone.IDPersona uno-a-molti Prelievi.IDPersona
    Abbi cura di mettere la spunta su "Applica integrità referenziale" sempre. A piacere sulle altre 2 opzioni.

    Adesso i campi Prelievi.IDInventario e Prelievi.IDPersona possono diventare 2 caselle combinate (questo è il termine tecnico giusto, piuttosto di menu a tendina) che puoi ottimizzare opportunamente sfruttando le relative proprietà. A questo proposito leggi questo documento
Devi accedere o registrarti per scrivere nel forum
4 risposte