Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

di il
14 risposte

Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

Ciao a tutti,
mi servirebbe un aiutino nel comprendere come realizzare un giusto collegamento tra sottomaschere

Vi spiego il caso:

Partendo da una maschera principale vuota ho inserito cinque sottomaschere:
1. mi genera l'articolo [IDArt]       -----      2. mi genera il colore [IDCol]
             |                                                  |
3. mi restituisce la combinazione (univoca) articolo + colore [IDArtCol] 
                                    |
4. mi dà tutti i lotti prodotti con la combinazione di cui al punto 3 [IDLotto]
                                    |
5. mi dà i movimenti del lotto selezionato nella sottomaschera 4 [IDMov]

Ho realizzato la cosa creandomi delle caselle di testo della maschera principale (che poi nascondo), nelle quali mi scrivo i vari ID risultanti dalle selezioni fatte nelle sottomaschere "madri") e mettendoli nel criteri di selezione dell' Id dellla sottomaschere "figlie" sulle relative Query di Origine Dati.
Ho poi ovviamente inserito vari Requery per gli aggiornamenti.

Il tutto sembra funzionare alla grande, le sottomaschere si aggiornano correttamente, ma mi sono accorto che nelle sottomaschere 4 e 5 se devo inserire nuovi recod non si compila in maniera automatica l'ID della maschera "madre" cui la sottomaschera eredita i dati.

Come posso farglielo fare ?

Il motivo credo di averlo capito, quando inserisco le sottomaschere, mi chiede di collegare i campi delle stesse alla form principale... ma in quella principale non trova ovviamente gli ID che mi servono,proponendomi erroneamente sempre il primo Id che trova nella query di definizione dati..
Se non le linko, non mi propone l'ID madre autocompilato.
Ho cercato sul forum qualcosa di simile ma non ho trovato risposte...potete darmi qualche suggerimento su come posso fare?

Grazie infinite!

p.s: oltre al procedimento di scrivere/leggere gli Id su casella di testo che ho fatto io, si poteva fare diversamente e/o di meglio?
Non sono un programmatore, sono un neofita di Access, quello che sto cercando di crearmi (serve per me e la mia collega in ufficio) l'ho realizzato grazie a manuali e vari video-tutorial reperiti in rete, se sapete di una fonte con una possibile soluzione di quello che cerco, ditemelo che vedo di studiarmelo prima di postarvi altre domande. Grazie ancora!

14 Risposte

  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    1. Hai postato la discussione nella sezione sbagliata. Dovevi farlo in Access. Ho segnalato eventuale spostamento.
    2. In visualizzazione struttura maschera devi cliccare una volta dentro la sottomaschera in modo che si evidenzi la CORNICE. Avvicina il mouse esattamente lungo il suo bordo e clicca con il tasto destro per le Proprietà. Devi impostare le proprietà:
    Collega campi secondari: CampoID
    Collega campi master: CampoID
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    OsvaldoLaviosa ha scritto:


    1. Hai postato la discussione nella sezione sbagliata. Dovevi farlo in Access. Ho segnalato eventuale spostamento.
    2. In visualizzazione struttura maschera devi cliccare una volta dentro la sottomaschera in modo che si evidenzi la CORNICE. Avvicina il mouse esattamente lungo il suo bordo e clicca con il tasto destro per le Proprietà. Devi impostare le proprietà:
    Collega campi secondari: CampoID
    Collega campi master: CampoID
    Grazie per la risposta e scusate per il thread sbagliato.

    vediamo se ho capito..
    Ho già fatto come dici te, ma mi propone di collegare l'id della sottomaschera (quella dove clico la cornice) con la maschera contenitore "principale", non con le altre sottomaschere che è quello che vorrei...
    in quella principale ho definito in origine dati una query che mi importi le varie tabelle, ma come posso farmi restituire i vari ID dei record che vado a cliccare nelle sottomaschere?
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    neobios ha scritto:


    Partendo da una maschera principale vuota ho inserito cinque sottomaschere:


    Codice: Seleziona tutto
    
    1. mi genera l'articolo [IDArt]       -----      2. mi genera il colore [IDCol]
                 |                                                  |
    3. mi restituisce la combinazione (univoca) articolo + colore [IDArtCol] 
                                        |
    4. mi dà tutti i lotti prodotti con la combinazione di cui al punto 3 [IDLotto]
                                        |
    5. mi dà i movimenti del lotto selezionato nella sottomaschera 4 [IDMov]
    Per me una maschera con 5 sottomaschere mi sembra una cosa "poco" gestibile.
    Forse è il caso di "controllare" la struttura tabelle, in questo caso la sezione "Progettazione database" è giusta. Quindi racconta dettagliatamente:
    - nomi propri di tutte le tabelle
    - nomi propri di tutti i campi, con indicazione della chiave primaria
    - le relazioni

    Poi occorre capire cosa vuoi fare veramente e se sia proprio il caso di avere 5 sottomaschere--->sezione Access.
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Posso mettere un link al mio db access? Cosi' faccio prima, se no infrango qualche regolamento...
    Se sì stasera lo posto, sono fuori ufficio.
    grazie Osvaldo.

    come faccio a spostare la discussione?
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    neobios ha scritto:


    Posso mettere un link al mio db access? Cosi' faccio prima, se no infrango qualche regolamento...
    Non infrangi il regolamento...generalmente è preferibile la descrizione "letterale"...

    neobios ha scritto:


    come faccio a spostare la discussione?
    Adesso non sarebbe più opportuno farla perchè la descrizione dello scenario tabelle va bene in questa sezione...vorrei essere certo che tutto sia a posto.
    Una volta sistemata/normalizzata la struttura, procedere con NUOVE domande nella sezione Access.
    In sostanza adesso non devi fare nulla.
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Allego il progetto:

    link di download:
    https://wetransfer.com/downloads/3d9e36074dfe0a327045836a84b475ea20180205212737/f99f5fe4d46a50b4c44743bb2e58643420180205212737/5abc92

    come evidenziato nell'immagine allegata vorrei ottenere i campi verde e rosso "autocompilati" ereditandone i valori dagli ID delle relative Textbox...


    p.s.: Prima che li lapidiate, confermo che il codice è pieno di confusione, lo sò, ma non avendo uno schema iniziale da basarmi, ho cominciato a buttare là le cose man mano che mi frullavano per la testa e, partendo da sottozero con Access ho appreso solo in corso d'opera come andrebbero fatte per bene le cose (tipo nominare correttamente i campi, le textbox, i controlli, ecc.), ma conto di rifarlo completamente come si deve una volta che ho capito come completarlo!
    Devo pure ripulirlo di tutti gli Id e campi inutili, ora li tengo solo per capire se fa le cose corrette.
    Ah, spunti per migliorarlo sono benvenuti, critiche anche, purchè costruttive!!!
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Da quello che si vede dal grafico delle relazioni sembrerebbe che ci siano delle incogruenze e siccome la prima cosa importante in un database è la strutturazione dello stesso è necessario quindi impostare nel miglior modo le tabelle, compresa la compilazione corretta delle relative proprietà dei campi (Tipo, Dimensione, Richiesto, Indicizzato, ecc...) e le relative relazioni.
    Per darti una mano dovresti spiegare come avviene il processo di gestione del database dalla creazione dell'articolo, ovvero la sequenza della stessa, alla vendita.
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Le prime due sottomaschere M_cerca_Filato e M_Cerca_Colore servono per richiamare filato (IDFilato) e colore (IdColore),
    L'articolo si compone di un Filato (composto da Nome+variante+titolo+confezione), che ho reso univoco.
    L'articolo puo' essere di vari colori (Nomecolore+codice+variante), anch'esso univoco
    La somma di Filato + colore è anch'essa univoca = IDArtCol (SM_T_Varianti)
    Per ogni IDArtCol ci sono vari lotti chiamati in gergo Cotte ( ID Cotta ) definita con una q.tà iniziale (SM_Q_Cotte)
    Per ogni cotta ci sono vari movimenti di solo scarico (SM T_Movimenti)

    in che punto ritieni ci siano incongruenze?
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Io rilevo un certo caos gigantesco...purtroppo non conosciamo anche i dettagli del tuo campo professionale e (sembra uno scherzo) appare difficile trovare il bandolo della tua matassa che con quello schema relazioni è molto-molto ingarbugliato.
    Provo (ripeto provo) a dire qualcosa secondo me:
    Ipotesi1: Un Articolo deve essere composto da TUTTI quei campi relativi a Filato, Colore, Variante.
    Ipotesi2: Se ci sono elementi di ripetitività a cascata, occorre sfruttarli opportunamente.

    Suggerimento: per affrontare un database del genere, non puoi improvvisarti. La consultazione di un manuale di base sarebbe opportuna.

    Sicuramente devi eliminare quella maschera con sottomaschere e tutto un tuo eventuale ragionamento che la avrebbe partorita.
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    L'ipotesi 1 è corretta,
    l'ipotesi 2 non ho compreso cosa intendi..

    caos a parte, il programma funziona, ma quando clicco sulle sottomaschere Q_Cotte e T_Movimenti non mi da' l'id di Id Articoli e IDCotta da cui le sottomaschere sono state generate, perchè?
    manuali ne ho diversi,sia base che avanzati ma non trovo quello che cerco:
    a me serve una maschera dove selezionato un articolo + colore mi mostri i lotti e i movimenti di ciascun lotto, a cascata.
    Come dovrei procedere ricominciando da 0?
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    neobios ha scritto:


    L'ipotesi 1 è corretta
    Mettila in pratica e facci sapere.

    neobios ha scritto:


    l'ipotesi 2 non ho compreso cosa intendi..
    Non riesco a spiegartela applicata al tuo campo professionale. Le descrizioni tabelle e campi mi appaiono confuse e non riesco a ritrovarmici. Un esempio classico è quello di Regioni uno-a-molti Province uno-a-molti Comuni. Se in una tabella Anagrafica devi scrivere il Comune di residenza, non dovrai scrivere anche Provincia e Regione. Ci si aspetta che la tabella Comuni sia già stata compilata al riguardo. Idem la tabella Province rispetto a Regioni.

    neobios ha scritto:


    caos a parte, il programma funziona, ma quando clicco sulle sottomaschere Q_Cotte e T_Movimenti non mi da' l'id di Id Articoli e IDCotta da cui le sottomaschere sono state generate, perchè?
    Perdonami, mi scappa una risposta da "nonno". Ponevo perchè insensati anch'io alle mie prime frequentazioni del forum. Poi capii perchè spesso mi ritornavano risposte incomprensibili (per me). Avevo molto da studiare ancora.

    neobios ha scritto:


    manuali ne ho diversi,sia base che avanzati ma non trovo quello che cerco
    Il problema dei manuali è che spesso espongono esempi con i quali uno non ci si ritrova...di conseguenza non riesci mai a partire.

    neobios ha scritto:


    a me serve una maschera dove selezionato un articolo + colore mi mostri i lotti e i movimenti di ciascun lotto, a cascata.
    Per i non addetti ai tuoi lavori, questa frase è incomprensibile.

    neobios ha scritto:


    Come dovrei procedere ricominciando da 0?
    Racconta (almeno per me) circa 10 esempi di Articoli che vengono venduti nell'ultima fase, facendomi notare le differenze tra i vari campi, mettendoti nei panni di un programmatore Access che non può conoscere affatto il tuo campo professionale. Termini come ad esempio Lotti e Cotte sono incomprensibili per me.
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Grazie, vedo innanzitutto di risistemare il tutto e definire meglio la mia situazione, magari la soluzione mi esce da sola, semmai richiedo aiuto.
    Grazie dei preziosi suggerimenti!
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Queste sono alcune da chiarire:
    • 1 - i campi TitArt, VarArt, ConfArt e VarColore che cosa rappresentano
    • 2 - i colori hanno delle varianti
    • 3 - la tabella T_Cotte sarebbe il Magazzino
    • 4 - i campi (Disp, Cotta, Pta, Grammi, ScatolaDa, Kg_Iniziali, Rc_Iniziali) della T_Cotte cosa rappresentano ed il valore da che cosa deriva
    • 5 - come viene gestita la Quantità a disposizione di un Articolo nella T_Cotte (operazione di carico del magazzino)
    • 6 - quale è la relazione fra la quantità Richiesta e quella poi spedita al Cliente, sono uguali o possono variare, se variano la rimanenza come viene gestita
    ecc...
  • Re: Aggiornamenti tra sottomaschere con compilazione ID "ereditato"

    Alla fine ci sono arrivato da solo e ho risolto l'autocomposizione che volevo.
    Mi è bastata qualche istruzione di Vba in "beforeinsert" e "formcurrent" delle sottomaschere.

    Grazie comunque dei consigli per la struttura generale del db che vedo ora di sistemare!
    ciao
Devi accedere o registrarti per scrivere nel forum
14 risposte