Creare associazioni tra due tabelle tramite maschera

di il
8 risposte

Creare associazioni tra due tabelle tramite maschera

Ciao a tutti,
spero di trovare buoni consigli da questo forum.
Sto creando un piccola applicazione in access 2013 che mi permetta di avere un'anagrafica di alcuni strumenti e la relativa assegnazione agli utenti.
Ho creato le due tabelle per il materiale e gli utenti e un'altra tabella "Assegnazioni" dove ho inserito due campi idmateriale e idutente e un altro campo (data di assegnazione).
Vorrei creare adesso una maschera che mi permetta di fare le associazioni, cioè che mi faccia scegliere in contemporanea materiale e utente da associare.
Come potrei fare?

8 Risposte

  • Re: Creare associazioni tra due tabelle tramite maschera

    1. Crea una maschera Assegnazioni, ti consiglio di sfruttare la procedura guidata
    2. Vai in visualizzazione struttura maschera Assegnazioni e cambia i due campi IDMateriale e IDUtente in caselle combinate (almeno che non lo erano già in partenza dalla rispettiva tabella)
  • Re: Creare associazioni tra due tabelle tramite maschera

    Avevo provato qualcosa del genere, ma con la creazione guidata mi crea una maschera+sottomaschera, dove si vedo nella maschera principale l'utente e nella sottomaschera il materiale assegnato, ma non riesco a fare nuove assegnazioni.
    Servirebbe creare una maschera contenente due distinte query e un pulsante che associ la "parte sinistra" dell'utente alla parte "destra" del materiale.
    E' possibile?
  • Re: Creare associazioni tra due tabelle tramite maschera

    Luigi3 ha scritto:


    Avevo provato qualcosa del genere, ma con la creazione guidata mi crea una maschera+sottomaschera, dove si vedo nella maschera principale l'utente e nella sottomaschera il materiale assegnato, ma non riesco a fare nuove assegnazioni.
    Quello che ho detto io significa che devi creare la maschera Assegnazioni sulla sola tabella Assegnazioni. Se ti sei imbattuto in maschera/sottomaschera, vuol dire che hai importato più tabelle nella procedura guidata, ma il discorso logico-visivo a questo punto cambia.

    Luigi3 ha scritto:


    ma non riesco a fare nuove assegnazioni
    Intuisco quello che dici, ma vorrei esserne certo. La maschera Assegnazioni che immagino io avrebbe due caselle combinate che guardano i campi IDMateriale e IDUtente...poi...

    Luigi3 ha scritto:


    Servirebbe creare una maschera contenente due distinte query e un pulsante che associ la "parte sinistra" dell'utente alla parte "destra" del materiale
    ...non è chiara questa descrizione.
    Puoi creare molte visualizzazioni dati da maschere come meglio gradisci. Ne hai descritte diverse. Scegli esattamente quale vuoi, oppure esprimi completamente cosa vuoi realizzare.
  • Re: Creare associazioni tra due tabelle tramite maschera

    OsvaldoLaviosa ha scritto:


    Luigi3 ha scritto:


    Avevo provato qualcosa del genere, ma con la creazione guidata mi crea una maschera+sottomaschera, dove si vedo nella maschera principale l'utente e nella sottomaschera il materiale assegnato, ma non riesco a fare nuove assegnazioni.
    Quello che ho detto io significa che devi creare la maschera Assegnazioni sulla sola tabella Assegnazioni. Se ti sei imbattuto in maschera/sottomaschera, vuol dire che hai importato più tabelle nella procedura guidata, ma il discorso logico-visivo a questo punto cambia.

    Luigi3 ha scritto:


    ma non riesco a fare nuove assegnazioni
    Intuisco quello che dici, ma vorrei esserne certo. La maschera Assegnazioni che immagino io avrebbe due caselle combinate che guardano i campi IDMateriale e IDUtente...poi...

    Luigi3 ha scritto:


    Servirebbe creare una maschera contenente due distinte query e un pulsante che associ la "parte sinistra" dell'utente alla parte "destra" del materiale
    ...non è chiara questa descrizione.
    Puoi creare molte visualizzazioni dati da maschere come meglio gradisci. Ne hai descritte diverse. Scegli esattamente quale vuoi, oppure esprimi completamente cosa vuoi realizzare.
    Ok, ho capito cosa vuoi dire tu, creare una maschera della tabella assegnazioni con i campi combinati, pero' questo mi risolverebbe solo la visualizzazione dei dati.

    Quello di cui ho necessità è avere l'elenco del materiale visibile e l'elenco degli utenti visibile entrambi in un'unica maschera e un comando che mi crei un nuovo record nella tabella assegnazioni (composta da 4 campi: id, idmateriale, idutente e data di assegnazione) tra il materiale selezionato e l'utente selezionato.
    Spero di essermi spiegato meglio
  • Re: Creare associazioni tra due tabelle tramite maschera

    Luigi3 ha scritto:


    Quello di cui ho necessità è avere l'elenco del materiale visibile e l'elenco degli utenti visibile entrambi in un'unica maschera e un comando che mi crei un nuovo record nella tabella assegnazioni (composta da 4 campi: id, idmateriale, idutente e data di assegnazione) tra il materiale selezionato e l'utente selezionato.
    Detto così nudo e crudo, non credo si possa realizzare e diventerebbe molto ingestibile quando le due liste Materiali e Utenti dovessero diventare molto lunghe...almeno che tu non ti voglia optare per la visualizzazione della maschera Assegnazioni come "Maschere continue"...spero di aver inteso...non sono sicuro. In sostanza, la soluzione più vicina alla tua richiesta resta quella della mia prima risposta.
    1. Crea la sola maschera Assegnazioni, con tutti i suoi campi
    2. Al posto dei normali campi IDMateriale e IDUtente che appaiono Numerici e insignificanti all'occhio umano, li sostituisci con 2 caselle combinate che guardano le loro rispettive tabelle (o meglio query ordinate alfabeticamente che puntano entrambe sui loro rispettivi ID)...forse ti sfugge questo potente strumento che ti permetterebbe di scegliere sia Materiali, sia Utenti in maniera davvero agile e efficace. Se hai difficoltà nel realizzare le due caselle combinate in maniera ottimale, puoi trovare molti post all'interno di questo forum che ne parlano, altrimenti posso spiegarti nei dettagli come fare.
  • Re: Creare associazioni tra due tabelle tramite maschera

    OsvaldoLaviosa ha scritto:


    Luigi3 ha scritto:


    Quello di cui ho necessità è avere l'elenco del materiale visibile e l'elenco degli utenti visibile entrambi in un'unica maschera e un comando che mi crei un nuovo record nella tabella assegnazioni (composta da 4 campi: id, idmateriale, idutente e data di assegnazione) tra il materiale selezionato e l'utente selezionato.
    Detto così nudo e crudo, non credo si possa realizzare e diventerebbe molto ingestibile quando le due liste Materiali e Utenti dovessero diventare molto lunghe...almeno che tu non ti voglia optare per la visualizzazione della maschera Assegnazioni come "Maschere continue"...spero di aver inteso...non sono sicuro. In sostanza, la soluzione più vicina alla tua richiesta resta quella della mia prima risposta.
    1. Crea la sola maschera Assegnazioni, con tutti i suoi campi
    2. Al posto dei normali campi IDMateriale e IDUtente che appaiono Numerici e insignificanti all'occhio umano, li sostituisci con 2 caselle combinate che guardano le loro rispettive tabelle (o meglio query ordinate alfabeticamente che puntano entrambe sui loro rispettivi ID)...forse ti sfugge questo potente strumento che ti permetterebbe di scegliere sia Materiali, sia Utenti in maniera davvero agile e efficace. Se hai difficoltà nel realizzare le due caselle combinate in maniera ottimale, puoi trovare molti post all'interno di questo forum che ne parlano, altrimenti posso spiegarti nei dettagli come fare.
    Ciao Osvaldo,
    ti ringrazio innanzitutto per la disponibilità.
    Ho capito cosa intendi, pero' a questo punto credo che questo metodo serva piu' per visualizzare le informazioni già presenti nella tabella Assegnazioni.
    Io vorrei fare il passo precedente: popolare la mia tabella assegnazioni. Per farlo dovrei visualizzare il record dalla tabella materiali, magari immettendo il serial number del materiale che voglio associare, una volta trovato associarlo all'utente, selezionandolo, come dici tu da una casella combinata che mi visualizzi gli utenti in ordine alfabetico.
  • Re: Creare associazioni tra due tabelle tramite maschera

    La maschera Assegnazioni assolve ad entrambe le esigenze. Potrai visualizzare tutti i record precedentemente associati, ma potrai comodamente selezionare IDMateriale e IDUtente da caselle combinate, quando vuoi compilare nuovi record. Sta a te scegliere se visualizzare la maschera come Maschera singola (quella classica) o Maschere continue (una via di mezzo fra la maschera classica e il foglio dati) o in Foglio dati (come se fosse la tabella originaria). Se usi la Maschera singola e ti posizioni su Record Nuovo, in quell'istante non vedrai tutti i precedenti record e potrai concentrare la tua attenzione nella sola selezione di IDMateriale e IDUtente. Se non provi non puoi renderti conto della geniale comodità delle caselle combinate.
  • Re: Creare associazioni tra due tabelle tramite maschera

    OsvaldoLaviosa ha scritto:


    La maschera Assegnazioni assolve ad entrambe le esigenze. Potrai visualizzare tutti i record precedentemente associati, ma potrai comodamente selezionare IDMateriale e IDUtente da caselle combinate, quando vuoi compilare nuovi record. Sta a te scegliere se visualizzare la maschera come Maschera singola (quella classica) o Maschere continue (una via di mezzo fra la maschera classica e il foglio dati) o in Foglio dati (come se fosse la tabella originaria). Se usi la Maschera singola e ti posizioni su Record Nuovo, in quell'istante non vedrai tutti i precedenti record e potrai concentrare la tua attenzione nella sola selezione di IDMateriale e IDUtente. Se non provi non puoi renderti conto della geniale comodità delle caselle combinate.
    Direi che è semplicemente perfetto, per il momento va benissimo. Ho modificato anche la query che visualizza i dati nei campi combinati e aggiunto un paio di pulsanti per creare un nuovo record e per passare a quello successivo (per simulare la conferma dell'assegnazione).

    Adesso vedo di migliorarlo un po', aspettati qualche altra richiesta.
    Osvaldo
Devi accedere o registrarti per scrivere nel forum
8 risposte