ID = ID in un Tab Control

di il
5 risposte

ID = ID in un Tab Control

Salve a tutti, ringrazio chi avrà tempo per leggere il mio argomento.

in un form principale ho un *Tab Control al quale ho sostituito la navigazione con pulsanti tramite uno dei comandi usati per lo spostamento (es. Me.nomepagina.SetFocus)

in una di queste pagine ho l'elenco di tutti gli studenti con "ID" e "NameStudent"
in un'altra  ho il registro delle attività didattiche con ID e altri campi relativi allo studente

i due form hanno origine dalla stessa tabella “Students”

quello che sto cercando di ottenere è che quando clicco (doppio click) sulla casella di testo "NameStudent" nella pagStudenti vorrei sia navigare alla pagina del registro (nome pagina "pagRegistro") sia ottenere la referenza ID = ID

spero di essere riuscito ad esprimermi con abbastanza chiarezza e ringrazio in anticipo tutti coloro che possono aiutarmi a risolvere questo meccanismo.

*la navigazione tra i vari form la avevo realizzata usando una Navigation Control poi ho preferito il Tab Control pensando fosse più facile referenziare..se potreste offrirmi anche la soluzione con la Navigation Control vi sono immensamente grato.

Grazie a tutti in anticipo

5 Risposte

  • Re: ID = ID in un Tab Control

    Non molto: stai mescolando problemi relativi all'interfaccia utente con problemi relativi alla modellazione dei dati.

    Sono due cose diverse, anche se, ovviamente, dovendo visualizzare dei dati, non sono separate.

    Comunque queste frasi

    in una di queste pagine ho l'elenco di tutti gli studenti con "ID" e "NameStudent"
    in un'altra  ho il registro delle attività didattiche con ID e altri campi relativi allo studente

    i due form hanno origine dalla stessa tabella “Students”

    sono sintomo che hai problemi con i dati: dovresti avere DUE tabelle, UNA con SOLO le informazioni relative agli studenti, ed UNA CON SOLO le attivita' didattiche per ogni studente, poiche' suppongo, che ad ogni studente siano associate PIU' attivita' didattiche.

    Devi studiarti “teoria relazionale dei dati”: al di la del nome ‘altisonante’, e' robbbba abbastanza semplice, alla portata di chiunque (non serve avere una laurea in Computer Science). 
    Inizia con Wikipedia, e sopprattutto con la parte di “normalizzazione dei dati” e “forme normali”.

    Se cosi' non dovesse essere, si ritorna al problema iniziale: non si e' capito un gran che.

  • Re: ID = ID in un Tab Control

    19/11/2023 - almor18 ha scritto:


    in una di queste pagine ho l'elenco di tutti gli studenti con "ID" e "NameStudent"
    in un'altra  ho il registro delle attività didattiche con ID e altri campi relativi allo studente

    i due form hanno origine dalla stessa tabella “Students”

    Per me non puoi avere questi dati tutti nella stessa tabella Students. Dovresti avere una tabella figlia Attività correlata attraverso il campo IDStudent (non chiamarlo semplicemente ID).

    Dopo di che io ci vedo 3 possibili soluzioni operative:

    A) Maschera/Sottomaschera Students/Attività

    B) Maschere collegate: da Students un pulsante apre la maschera Attività

    C) Struttura a schede (Tab Control)

    Per A) e B) esistono le procedure guidate che ti aiutano nella autocomposizione. Per C) devi ingegnarti tu in visualizzazione struttura maschera.

    …sperando di aver compreso esattamente il problema.

  • Re: ID = ID in un Tab Control

    Grazie, mi impegnerò per realizzare quello che mi hai suggerito. Sarà anche un'occasione per migliorarmi.

  • Re: ID = ID in un Tab Control

    In sostanza vorresti sincronizzare le 2 SubForm…?

    La cosa è fattibile in vari modi, ma dipende da come lavori e da come vuoi gestirlo.

    Un metodo è mettere 2 controlli esterni, TextBox NON associati a campi, ma con ControlSource rispettivamente l'ID di una delle 2 SubForm.

    Es. txt1 e txt2, dove:

    txt1.ControlSource=[NomeSubForm1]!Id
    txt2.ControlSource=[NomeSubForm2]!Id

    Ora come sai le SubForm, selezionando il Container hanno le proprietà Campi Master/Secondari che legano quanto in Form rispetto a quanto in SubForm, quindi nel campo Master delle SubForm metti ripettivamente il riferimento alla TextBox incrociata.

    Questo tuttavia Filtra le SubForm quindi dovrai prevedere un Pulsante di reset.

    Alternativa è gestire su Evento Current di ogni SubForm il FindFirst del RecordsetClone dell'altra SubForm… anche questo molto semplice e probabilmente molto più funzionale. 

  • Re: ID = ID in un Tab Control

    Grazie Alex, non è la prima volta che ricevo i tuoi preziosi suggerimenti, non ho sicuramente le tue conoscenze e competenze ma abbastanza da aver capito il tuo consiglio.

    Grazie.

Devi accedere o registrarti per scrivere nel forum
5 risposte