.. _user_handbook/table_manager/record_form/campi_relazione: Campi in relazione ================== .. toctree:: :maxdepth: 1 :hidden: :titlesonly: dbselect hdbselect linker_box In un database relazionale è molto frequente che un record abbia delle relazioni con i record di altre tabelle. Alcuni esempi: - Nella form del Prodotto voglio scegliere un tipo prodotto, tra i valori presenti nella tabella *tipo_prodotto* - Nella form della riga ordine voglio scegliere un prodotto, tra i valori presenti nella tabella *prodotti* - Nella form della fattura voglio scegliere un cliente, tra i valori presenti presenti nella tabella *clienti* In questi casi, nella :ref:`form` non si usa un campo dove digitare a mano la chiave *foreignkey* del record da associare, ma si deve usare un campo speciale che permette di effettuare al momento una ricerca così da identificare il record desiderato e metterlo in relazione con quello che stiamo compilando. Per fare questo Genropy usa particolari tipi di campi ogni volta che nella form si deve inserire come valore di un campo in relazione un valore presente in un'altra tabella del database: - :ref:`dbSelect` , il record è in relazione con un record di un'altra tabella - :ref:`hdbselect` , il record è in relazione con un record di una tabella gerarchica - :ref:`Linker box` , simile per estetica e funzionalità alla dbSelect come un semplice campo testo consente oltre alla selezione anche la creazione di un record nella tabella in relazione mostrando nella box record i dati principali del record in relazione.