Visualizzazione tabella da maschera

di il
18 risposte

Visualizzazione tabella da maschera

Salve a tutti. In quanto neofita Access, chiedo scusa in anticipo per la banalità del quesito ma...
Devo creare una maschera nella quale, in base ad un valore inserito in un campo numerico (Id), devono essere visualizzati i corrispondenti valori di una tabella origine (nome, cognome ecc. ecc). Dato che a fronte di uno stesso Id posso trovare più record, avrei bisogno di realizzare una macro VBA che mi consenta di scorrere l'eventuale lista ottenuta o che, in alternativa, mi visualizzi contemporaneamente in un campo "multiplo" tutti i valori estratti.
La prima soluzione mi sembra più "pulita" anche se dovrei inserire un indicatore che "suggerisca" la presenza di più record estratti e indichi all'utente di scorrere la lista (procedendo con enter o tab, per esempio).
Suggerimenti?

18 Risposte

  • Re: Visualizzazione tabella da maschera

    Hai parlato di un campo ID (che fa pensare alla chiave primaria), ma poi parli di molti valori.
    Potresti esplicitare i nomi tabelle con tutti i campi per giustificare/chiarire quello che vorresti fare?
  • Re: Visualizzazione tabella da maschera

    No, Osvaldo, il campo Id non è chiave: è un codice identificativo che può essere duplicato.
    La tabella è questa:
    Id Toponimo Denominazione Civico cognome nome codice fiscale

    3563096 VIA ROMA 1 ROSSI ROBERTO XXXXXXXXXXXXXXX
    3563098 VIA ROMA 4 VERDI MARIO XXXXXXXXXXXXXXX
    3563099 VIA ROMA 66 BIANCHI MARIO XXXXXXXXXXXXXXX
    3563117 CORSO ITALIA 2 MAZZINI GIULIO XXXXXXXXXXXXXXX
    3563117 CORSO ITALIA 2 SANDRI PAOLA XXXXXXXXXXXXXXX

    Nella maschera che ho in mente, si dovrebbe inserire il codice numerico contenuto nel campo Id e, su invio o click o tab, dovrebbero essere visualizzati, in campi distinti, tutti gli altri valori presenti in tabella. Come ho provato a descrivere nella richiesta originale, si pone il problema relativo, ad esempio, all' Id 3563117 cui corrispondono 2 record (Mazzini e Sandri).
    Io vorrei:
      visualizzare il primo record e indicare all'utente la presenza di un secondo record (o anche terzo, quarto ecc.) e consentire lo scorrimento fino alla fine

      oppure
        visualizzare tutti i record contemporaneamente in campi non singoli.

        Spero di essermi spiegato meglio.
        Grazie
      • Re: Visualizzazione tabella da maschera

        A me non convince quel campo ID. Cosa significa? Cosa rappresenta?
        Perchè la tua tabella non ha un nome appropriato ad esempio Anagrafica o Persone?
        Anche se il tuo attuale ID non deve essere campo chiave primaria, ti consiglio di crearne uno apposito, magari di tipo "Numerazione automatica".
        Le mie domande potrebbero apparire fuori tema, ma possono servire a chiarire meglio il quadro generale e "forse" risolvere il tuo problema da un'altra angolazione...ma vorrei capire meglio quale...
      • Re: Visualizzazione tabella da maschera

        No, no non ci sono domande fuori tema, anzi....

        La mia tabella ha un nome: Selezione_da_catasto
        Id è il codice con il quale l'immobile è catalogato e non è chiave primaria.
        Posso sicuramente creare la chiave tipo "Numerazione automatica".

        Grazie per la tempestività e scusa se manco nei dettagli.
        Saluti
      • Re: Visualizzazione tabella da maschera

        omancino ha scritto:


        La mia tabella ha un nome: Selezione_da_catasto. Id è il codice con il quale l'immobile è catalogato e non è chiave primaria.
        Allora hai un problema di normalizzazione a monte. Innanzitutto devi strutturare su più tabelle. Non puoi/Non devi scrivere per ogni Immobile tutti i dati Anagrafici di ogni Persona. Una Persona può avere molti Immobili e tu dovresti avere un campo IDPersona (numerico) in tabella SelezioneDaCatasto e la relazione uno-a-molti.
        Idem devi avere una tabella Immobili con tanto di campo IDImmobile (chiave primaria).
        La tabella SelezioneDaCatasto rappresenta la tabella di congiunzione fra Immobili e Persone.
        SelezioneDaCatasto dovrebbe avere i seguenti campi (quelli essenziali):
        IDSelezioneCatasto (numerazione automatica, chiave primaria)
        IDImmobile (numerico)
        IDPersona (numerico)
        ...ovvie relazioni a seguire...
        Strutturando tutto in questa maniera (3 tabelle), ti accorgerai anche che il tuo problema cambia prospettiva.
      • Re: Visualizzazione tabella da maschera

        OK, adesso proverò a rivedere l'organizzazione del mio db.
        Grazie
      • Re: Visualizzazione tabella da maschera

        Osvaldo, la relazione Immobile<->Persona è in realtà m:m in quanto un immobile può appartenere a più persone (es. proprietà al 50% tra marito e moglie, o tra fratelli). Questo è il motivo alla base della mia richiesta originale riguardante la selezione di più record a fronte di un unico id dell'immobile.
        Saluti e grazie
      • Re: Visualizzazione tabella da maschera

        omancino ha scritto:


        la relazione Immobile<->Persona è in realtà m:m
        Io ho detto la stessa cosa parlando della tabella di congiunzione:

        OsvaldoLaviosa ha scritto:


        Tabella SelezioneDaCatasto
        IDSelezioneCatasto (numerazione automatica, chiave primaria)
        IDImmobile (numerico)
        IDPersona (numerico)

        omancino ha scritto:


        Questo è il motivo alla base della mia richiesta originale riguardante la selezione di più record a fronte di un unico id dell'immobile
        Avresti varie soluzioni. La più semplice che mi viene in mente è maschera/sottomaschera Immobili/SelezioneDaCatasto con la visualizzazione classica di un record Immobile in alto e i molti dettagli di SelezioneDaCatasto.

        P.S.: Io chiamerei SelezioneDaCatasto più semplicemente Assegnazioni o AssegnazioniImmobili.
      • Re: Visualizzazione tabella da maschera

        Osvaldo ti chiedo scusa, ma inizio ad avere difficoltà a seguire le tue indicazioni "maschera/sottomaschera..." (forse ho evidenziato poco il mio essere neofita di Access.. ).
        Lungi da me l'idea di fare il parassita, anzi mi interessa capire e realizzare di persona, ma potresti fornirmi esempi concreti (anche un mdb semplice semplice)?
        Grazie ancora per la pazienza.
      • Re: Visualizzazione tabella da maschera

        Che cosa è una maschera? È un oggetto che generalmente mostra un record alla volta e, proprio come la maschera di Arlecchino o Pulcinella, mostra con dei "buchi" i campi della tabella sottostante. Questo tipo di maschera (quello più famoso) prende il nome di "maschera singola" proprio perchè (ripeto) mostra un singolo record alla volta. Questo dovrebbe farti già capire che svolge quasi una funzione da filtro "uno alla volta".
        Ma Access va oltre. Sfruttando la relazione uno-a-molti permette di creare un "qualcosa" che si chiama "maschera/sottomaschera" dove in alto vedi la maschera singola Immobile (con un solo Immobile visualizzato) e in basso un "foglio dati" (AssegnazioniImmobili) che elenca i record che parlano solo di quel Immobile che si vede in alto.
        Leggi la guida in linea sulla "creazione guidata maschera" e/o "creazione guidata maschera/sottomaschera", molto utile e facile da usare.
      • Re: Visualizzazione tabella da maschera

        Ok. Grazie per i suggerimenti.
      • Re: Visualizzazione tabella da maschera

        Se non ho interpretato male, la soluzione maschera/sottomaschera consente di "navigare" automaticamente le tabelle interessate: io avrei bisogno di visualizzare le informazioni inserendo manualmente "IDimmobile". Suggerimenti?
      • Re: Visualizzazione tabella da maschera

        Maschera/sottomaschera svolge più funzioni:
        - vedere 1 record Immobile in alto e molti suoi Dettagli (sotto)
        - inserire 1 Immobile alla volta, per poi inserire molti Dettagli (sotto).
        Le maschere permettono:
        - curare il look
        - la logica visiva
        - l'input più agevole e più a portata di utente
        - tante altre belle cose che non si possono fare con le tabelle

        Se il campo IDImmobile, dalla tabella Immobili, non lo vuoi di tipo "Numerazione automatica", puoi convertirlo in Numerico.
      • Re: Visualizzazione tabella da maschera

        Spiacente di non riuscire a rendere le richieste, ma il campo IDImmobile è "già" numerico. Al momento dell'apertura della maschera principale, viene popolato con il valore del primo record della tabella principale: io avrei l'esigenza di inserire il codice "manualmente" per popolare i campi delle sottomaschere con i valori relativi dalle altre tabelle relazionate alla principale.
        Grazie.
      Devi accedere o registrarti per scrivere nel forum
      18 risposte