Caselle combinate in cascata tra maschera e sottomaschera

di il
2 risposte

Caselle combinate in cascata tra maschera e sottomaschera

Buongiorno a tutti,
è da qualche settimana che ho iniziato a creare un semplice db per la gestione dei contatti che intrattengo con i clienti.
Dopo aver appreso le basi teoriche della gestione dei database relazionali, mi sono cimentato nella creazione del database.

Il database (che comunque allego) è così costruito:

N.3 tabelle principali
ENT_aziende (contiene l'anagrafica delle aziende con cui si intrattengono comunicazioni)
ENT_persone (contiene l'anagrafica delle persone con cui si intrattengono comunicazioni
ENT_comunicazioni (contiene l'elenco delle comunicazioni intrattenute)

N. 4 tabelle contenenti solo degli attributi
ATT_comunicazioni_esiti (contiene i possibili esiti di una comunicazione)
ATT_comunicazioni prossima (contiene un elenco di prossime azioni da fare dopo la comunicazione)
ATT_comunicazioni_tipo (contiene l'elenco dei possibili tipi di comunicazione)
ATT_focus (contiene l'elenco dei possibili focus - argomenti - di cui tratta la comunicazione)

Le relazioni impostate sono le seguenti
1-N ENT_aziende --> ENT_comunicazioni
1-N ENT_aziende --> ENT_persone


Ora, ho creato una maschera singola ENT_aziende che mi permetta di aggiungere nuove aziende oppure mi permetta di visualizzare aziende già registrate mediante l'applicazione di filtri da due caselle combinate (cercaragionesociale e cercapartitaiva).

L'obiettivo sarebbe quello di inserire in tale maschera due sottomaschere di tipo continuo:
Sottomaschera ENT_comunicazioni (tipo di visualizzazione continua, in cui visualizzare tutte le comunicazioni intrattenute con l'azienda selezionata nella maschera principale)
Sottomaschera ENT_persone [non ancora implementata] (tipo di visualizzazione continua, in cui visualizzare tutte le persone che lavorano per l'azienda selezionata nella maschera principale)

Nella tabella ENT_comunicazoni è presente un campo denominato nominativo in cui va inserito il nominativo della persona con cui è avvenuta la comunicazione il cui valore è determinato dalla casella combinata nominativocompleto (nella sottomaschera Sottomaschera ENT_comunicazioni in cui vorrei fossero elencati i nominativi completi (prelevati dalla query QRY_FiltraCboxNominativo e costruiti da un'espressione di concatenamento stringhe nella query) di tutte e sole le persone che lavorano per l'azienda selezionata nella maschera principale.

Ho impostato nel criterio della query il campo IDazienda mostrato nella maschera principale.

Il problema è che cambiando l'azienda selezionata nella maschera principale attraverso una delle due caselle combinate cercaragionesociale e cercapartitaiva, vengono aggiornati correttamente i campi dell'azienda selezionata e le comunicazioni intrattenute con l'azienda ma non aggiorna i valori selezionabili nella casella combinata nominativocompleto rendendomi difficoltoso sia un eventuale modifica del record che una corretta aggiunta di nuovi record nella tabella ENT_comunicazioni.

Ho letto di tutto sulle caselle combinate in cascata ma nulla riguardo la loro correlazione tra maschera e sottomaschera.

Qualcuno potrebbe darmi una mano per cortesia?

Grazie e buona giornata


----
Link per scaricare il database
https://www.dropbox.com/s/criygo4o2u6l0m3/ComunicazioniAziende.accdb?dl=0

2 Risposte

  • Re: Caselle combinate in cascata tra maschera e sottomaschera

    Nessuno in grado di risolvere il problema?
  • Re: Caselle combinate in cascata tra maschera e sottomaschera

    Per prima cosa devi cambiare l'origine riga del controllo nominativocompleto nel seguente modo:
    • 
      SELECT QRY_FiltraCboxNominativo.nomecompleto FROM QRY_FiltraCboxNominativo WHERE (((QRY_FiltraCboxNominativo.IDazienda)=[Maschere]![ENT_aziende]![IDazienda])) ORDER BY QRY_FiltraCboxNominativo.[nomecompleto];
      
    poi devi aggiungere il seguente evento:
    • 
      Private Sub Form_Current()
          [Sottomaschera ENT_comunicazioni]![nominativocompleto].Requery
      End Sub
      
    nella maschera ENT_aziende
    Rimane il fatto che dovresti continuare nella normalizzazione del database per quanto riguarda i campi:
    • titolo, ruolo, reparto nella tabella ENT_persone
    controllare le seguenti proprietà:
    • Dimensione campo (per i campi di testo)
      Richiesto (impostare a per rendere obbligatorio l'inserimento nei casi fondamentali)
      Consenti lunghezza zero (impostare a No per evitare che sia inserito un valore vuoto per quei campi dove l'inserimento del dato è richiesto)
      Indicizzato ( impostare a Sì (Duplicati ammessi) per evitare la creazione di doppioni)
    poi ci sarebbero anche altre cose su come sono gestite le maschere.
Devi accedere o registrarti per scrivere nel forum
2 risposte