Precompilare sottomaschera

di il
15 risposte

Precompilare sottomaschera

Buonasera a tutti. Ho spulciato il forum sperando di trovare una risposta al mio problema ma non ho trovato una risposta che riuscisse ad aiutarmi.
Ho creato un DB per la gestione dei miei pazienti. Ho organizzato il tutto in modo di avere una sola schermata con i dati anagrafici del paziente e a lato le sottomaschere contenenti le tabelle relazionate al mio paziente. Sto riscontrando problemi riguardo la precopilazione della sottomaschera della fattura. Avrei bisogno che la fattura si autocompili con i dati corrispondenti del mio paziente. Come posso fare? Ho provato a legare i campi presenti nella fattura con i campi dell'anagrafica del paziente tramite l'origine controllo, ma nulla, sicuramente sbaglierò qualcosa ma, essendo un neofita riguardo access e non usandolo così spesso, sto riscontrando non pochi problemi.
Qualcuno riesce ad aiutarmi?
Grazie in anticipo.

15 Risposte

  • Re: Precompilare sottomaschera

    Non ho capito se hai problemi a livello di maschera/sottomaschera oppure non riesci a impostare un report che riprenda tutti i dati (a monte) che hai richiesto.
    Spiega tutto più dettagliatamente con i nomi propri di maschera, sottomaschera e controlli (campi).
  • Re: Precompilare sottomaschera

    OsvaldoLaviosa ha scritto:


    Non ho capito se hai problemi a livello di maschera/sottomaschera oppure non riesci a impostare un report che riprenda tutti i dati (a monte) che hai richiesto.
    Spiega tutto più dettagliatamente con i nomi propri di maschera, sottomaschera e controlli (campi).
    Grazie Osvaldo per la celere risposta. Ho creato una tabella principale (paziente) e altre tabelle legate direttamente alla rpincipale tramite l' ID_Paziente. E qui non ho avuto problemi, infatti, ad ogni paziente corrisponde la sua tabella secondaria. Ho creato una maschera dove riporta l'anagrafica del paziente e creato una sottomaschera che raccoglie le altre tabelle relazionate con quel determinato paziente. L'unica sottomaschera di cui necessito la compilazione automatica di parte dell'anagrafica del paziente è la sottomaschera della fattura.
    come puoi vedere dall'immagine.
    Spero di essermi spiegato meglio questa volta!
  • Re: Precompilare sottomaschera

    Non vedo l'immagine.
    Se si tratta di maschera/sottomaschera classica...non vedo perchè vuoi fare ciò visto che i dati li vedi in testa.
    Se si tratta di Fatture (sottomaschera logica) maschera collegata, penserei a creare sul campo IDPaziente una casella combinata, mettendo tutte le colonne utili che vuoi ri-vedere...poi...sta a te, se nella compilazione della casella combinata vuoi vedere "tutt'uno" in un campo solo o distribuire "normalmente" su più campi/colonne per poi mostrarne i valori nella maschera Fatture su caselle di testo che mostrino la corrispondente
    =[NomeCasellaCombinata].Column(2)
    per la 3a colonna
    =[NomeCasellaCombinata].Column(3)
    per la 4a colonna
    ecc...

    P.S.: adesso vedo l'immagine...ma di bassa qualità...non riesco a cogliere il problema al meglio...
  • Re: Precompilare sottomaschera

    OsvaldoLaviosa ha scritto:


    Non vedo l'immagine.
    Se si tratta di maschera/sottomaschera classica...non vedo perchè vuoi fare ciò visto che i dati li vedi in testa.
    Se si tratta di Fatture (sottomaschera logica) maschera collegata, penserei a creare sul campo IDPaziente una casella combinata, mettendo tutte le colonne utili che vuoi ri-vedere...poi...sta a te, se nella compilazione della casella combinata vuoi vedere "tutt'uno" in un campo solo o distribuire "normalmente" su più campi/colonne per poi mostrarne i valori nella maschera Fatture su caselle di testo che mostrino la corrispondente
    =[NomeCasellaCombinata].Column(2)
    per la 3a colonna
    =[NomeCasellaCombinata].Column(3)
    per la 4a colonna
    ecc...

    P.S.: adesso vedo l'immagine...ma di bassa qualità...non riesco a cogliere il problema al meglio...
    Mmmmm... Mi sa che non riesco a capire come fare. Se non sbaglio la casella combinata mi servirebbe per scegliere il paziente giusto? ma quello che volevo fare era far risultare i dati anagrafici del paziente in esame direttamente dentro la sottomaschera fattura. Avevo pensato di aggiungere i campi esistenti prendendoli direttamente dalla tabella paziente ma una volta importati, appaiono tutti vuoti.
    Si vede l immagine? Ho cercato di aumentare la risoluzione.
    Come vedi dall'immagine sulla sinistra ho i valori anagrafici del paziente, nella sottomaschera vorrei che fossero presenti, nello spazio bianco vuoto, i gli stessi dati, quindi per ogni paziente che vedo, avere già tutto pronto per la fattura.
  • Re: Precompilare sottomaschera

    Ma nella sottomaschera Fatture hai previsto anche una ulteriore sottomaschera DettagliFatture?
    Hai una tabella DettagliFatture e relazione Fatture uno-a-molti DettagliFatture?
    Se è No...forse tu in Fattura ci scrivi solo dati "talmente essenziali" che riportano "tutto sommato" a una situazione di una Fattura=un Importo che non scaturisce da un Totale di più record (DettagliFatture)?

    Quando parlavo della casella combinata non mi riferivo al fatto di "selezionare" un Paziente. Tu hai un campo Fatture.IDPaziente necessario alla sincronizzazione della sottomaschera rispetto alla maschera. Tale campo io non lo vedo: è importantissimo.
  • Re: Precompilare sottomaschera

    OsvaldoLaviosa ha scritto:


    Ma nella sottomaschera Fatture hai previsto anche una ulteriore sottomaschera DettagliFatture?
    Hai una tabella DettagliFatture e relazione Fatture uno-a-molti DettagliFatture?
    Se è No...forse tu in Fattura ci scrivi solo dati "talmente essenziali" che riportano "tutto sommato" a una situazione di una Fattura=un Importo che non scaturisce da un Totale di più record (DettagliFatture)?

    Quando parlavo della casella combinata non mi riferivo al fatto di "selezionare" un Paziente. Tu hai un campo Fatture.IDPaziente necessario alla sincronizzazione della sottomaschera rispetto alla maschera. Tale campo io non lo vedo: è importantissimo.
    Vediamo, io ho già messo in relazione la tabella fattura con uno specifico idpaziente, così ogni paziente avrà univocamente la sua fattura. Ti allego l'immagine delle mie relazioni, non vorrei aver fatto un casino a questo punto.
    Come invece puoi vedere dall' immagine della fattura (spero si legga) sulla destra è presente l'elenco dei campi della fattura. Cosa dovrei inserire? se inserisco Cognome, nome e così via, rimangono campi vyuoti e non riportano i valori corrispondenti all'idpaziente legato alla suddetta fattura. Sbaglio qualcosa nel mio ragionamento?
    Allegati:
    19856_6107c01d0f7ea260fc2d0ae582d191f2.jpeg
    19856_6107c01d0f7ea260fc2d0ae582d191f2.jpeg

    19856_a493407d66ff0353d9c180b5171fda5d.jpeg
    19856_a493407d66ff0353d9c180b5171fda5d.jpeg
  • Re: Precompilare sottomaschera

    Per chiarezza noto che non hai (forse non ne hai bisogno) una tabella DettagliFatture: OK.

    Nella sottomaschera non vedo il campo IDPaziente. Mi riferisco al campo "chiave esterna" ossia quello corrispondente/proveniente dalla tabella Fatture. Questo campo ci deve essere. Su questo campo costruisci una casella combinata e su di essa stabilisci tutte le colonne che vuoi che devono provenire dalla tabella Pazienti: diciamo Cognome, Nome, Indirizzo, Comune (non li vedo tutti...vado a intuito/generalizzazione). Come procedere al meglio passo passo:
    1. Crea una query di selezione dove importi la tabella Pazienti
    2. Trascina nella griglia i campi nel seguente ordine: IDPaziente, Cognome, Nome, Indirizzo, Comune
    3. Imposta Ordinamento Crescente ai campi Cognome e Nome
    4. Salva la query con nome PazientiOrdinati
    5. Vai in visualizzazione struttura maschera/sottomaschera e concentra la tua attenzione su Fatture e il campo IDPaziente. Se non ce l'hai lo devi aggiungere e abbi cura che alla proprietà "Nome controllo" ci sia scritto IDPaziente
    6. Fai clic con il mouse destro su IDPaziente e scegli Cambia in | Casella combinata
    7. Fai nuovamente clic con il mouse destro sulla "appena nata" casella combinata e scegli Proprietà, scheda Tutte
    8. Imposta così:
    Tipo origine riga: Tabella/query
    Origine riga: PazientiOrdinati
    Origine controllo: IDPaziente
    Numero colonne: 5
    Larghezza colonne: 0cm; 4cm; 4cm; 5cm; 5cm (è importante che la prima sia 0 cm)
    Larghezza elenco: 18 cm (il totale di Larghezza colonne)
    9. Sempre nella sottomaschera devi aggiungere 3 caselle di testo dove devi scriverci dentro qualcosa del genere:
    =[IDPaziente].Column(2)
    =[IDPaziente].Column(3)
    =[IDPaziente].Column(4)
    Bada bene che IDPaziente deve corrispondere alla proprietà "Nome controllo" dove tu avevi piazzato la tua casella combinata che puntava su IDPaziente
    10. Salva tutto

    Ti ho dato un suggerimento di massima. Ovviamente si può abbellire qualcosina in più.
  • Re: Precompilare sottomaschera

    Ho fatto come hai scritto passo passo, ma i campi risultano comunque vuoti. Secondo me a questo punto c'è qualche problema nella relazione ID_Pazienti della tabella pazienti e ID_pazienti della tabella fatture, ma non riesco a capire quale possa essere il problema.
  • Re: Precompilare sottomaschera

    Credo di individuare una cosa importantissima che ho dimenticato di dirti.
    1. Vai in visualizzazione struttura maschera/sottomaschera
    2. Posizionati sulla sottomaschera Fatture, quindi fai un clic dentro in modo che si evidenzi solo la cornice
    3. Clicca lungo il bordo di questa cornice o su un quadratino che la riguarda con il mouse destro e scegli Proprietà
    4. Imposta:
    Collega campi secondari: IDPaziente
    Collega campi master: IDPaziente
    5. Salva tutto

    Con questa impostazione stai dicendo alla sottomaschera di sincronizzarsi "adeguadatamente" con la maschera.
  • Re: Precompilare sottomaschera

    Ciao Osvaldo, grazie per la risposta ma il problema non è stato risolto. I campi master e secondari erano già collegati per ID_Paziente, sinceramente non riesco a capire quale sia il problema. Anche quando clicco su AGGIUNGI CAMPI ESISTENTI, inerenti alla sottomaschera fattura, mi appaiono i campi presenti nella tabella paziente, quindi credo che significhi che le due tabelle (paziente e fattura), siano collegate correttamente tramite ID_Paziente. Quando inserisco questi campi dentro la sottomaschera e passo in visualizzazione normale, i campi risultano vuoti e non compilati con gli stessi valori presenti nei capi appartenenti alla tabella paziente.
  • Re: Precompilare sottomaschera

    Kryos ha scritto:


    quando clicco su AGGIUNGI CAMPI ESISTENTI, inerenti alla sottomaschera fattura, mi appaiono i campi presenti nella tabella paziente
    Tieni presente che hai una visualizzazione complessa di maschera--->più sottomaschere che si celano facilmente nella struttura a schede. Se ad "aggiungi campi esistenti" ti appaiono i campi di Pazienti, vuol dire che in quel momento stai trattando/evidenziando/lavorando dentro Pazienti. Accertati per bene che stai evidenziando correttamente la sottomaschera.
    Ma le altre sottomaschere ti danno lo stesso problema?
  • Re: Precompilare sottomaschera

    OsvaldoLaviosa ha scritto:


    Kryos ha scritto:


    quando clicco su AGGIUNGI CAMPI ESISTENTI, inerenti alla sottomaschera fattura, mi appaiono i campi presenti nella tabella paziente
    Tieni presente che hai una visualizzazione complessa di maschera--->più sottomaschere che si celano facilmente nella struttura a schede. Se ad "aggiungi campi esistenti" ti appaiono i campi di Pazienti, vuol dire che in quel momento stai trattando/evidenziando/lavorando dentro Pazienti. Accertati per bene che stai evidenziando correttamente la sottomaschera.
    Ma le altre sottomaschere ti danno lo stesso problema?
    No, le altre sottomaschere non mi danno questo problema, c'è da dire che le altre non necessitano della compilazione automatica dei campi, quindi sono sottomaschere che devo compilare man mano che parlo con il paziente e visualizzando le tabelle, ogni sottomaschera ha il suo ID_Paziente di riferimento. L'unico problema che sto riscontrando è con la compilazione automatica della fattura! Sigh! Sto pensando di eliminare la tabella fattura e rifarla nuovamente, forse ho sbagliato qualcosa anche se non credo!
  • Re: Precompilare sottomaschera

    Però mi sorge un dubbio... Posso mica aver sbagliato? Allego le foto dei campi che mi appaiono in fattura e della tabella fattura. come puoi vedere nei campi è presente una etichetta che non è presente nella tabella fattura e cioè ID_paziente_t_Fattura. Mai creato tale campo. Per non parlare che nella tabella fattura i campi cognome, nome e così via non sono presenti mentre sono presenti nell'elenco campi.
    Allegati:
    19856_14450b2e0040e7f006568d5a8683e6c6.jpeg
    19856_14450b2e0040e7f006568d5a8683e6c6.jpeg

    19856_e2d47c0bf6052c509f3e42e717c63a79.jpeg
    19856_e2d47c0bf6052c509f3e42e717c63a79.jpeg
  • Re: Precompilare sottomaschera

    Per me ti stai ponendo un "falso" problema.
    1. Tutto sommato tu hai tutti i dati della maschera principale a sinistra. Quindi non ti serve rivedere quei dati anche in sottomaschera.
    2. Tieni presente che stai lavorando ancora dentro le MASCHERE che sono oggetti che "stanno dentro il monitor del tuo computer". Quello che desideri tu avebbe senso (forse) in fase di stampa di un report. In quel caso ha senso sì avere tutti i dati ben "impilati"...ma anche lì si opererebbe in altro modo.

    Però se dici che non vedi nulla e non hai mai visto nulla dei valori campi di Fatture...vuol dire che hai commesso qualche errore di progettazione. Io credo di aver suggerito tutto il possibile immaginabile.

    Un ultimo tentativo "disperato" (ma non mi convince più di tanto) è di mettere al campo Fatture.IDPaziente il valore predefinito:
    [Maschere]![Pazienti]![IDPaziente]

    P.S.: ho letto anche il tuo ultimo post. Una riguardata a tutto il progetto, campo per campo non sarebbe male.
Devi accedere o registrarti per scrivere nel forum
15 risposte