Visualizzare automaticamente campi di una tabella su altra

di il
6 risposte

Visualizzare automaticamente campi di una tabella su altra

Saluti a tutti
Il mio DB riguarda materiali di magazzino per i quali computare i valori finali.
Allego le relazioni:
Compilando la mia Tbl_Movimenti, desidererei che quando inserisco il campo "Cod Art" mi riportasse automaticamente sul record i campi "ID Articolo", "Categoria" e "Un Mis" provenienti dalla TbL_Articoli.
Qualora non possedessi il "Cod Art" vorrei che facesse la stessa cosa quando inserisco "ID Articolo".
Al momento ho creato delle caselle combinate nei campi interessati con due colonne per visualizzare la rispondenza dei campi, ma tutto ciò mi crea difficoltà perché per ogni campo devo eseguire la ricerca.
Qualcuno può aiutarmi a risolvere questo mio problema ?
Grazie a tutti
Allegati:
13622_6c322f16a47064df794ec77f37c009fc.png
13622_6c322f16a47064df794ec77f37c009fc.png

6 Risposte

  • Re: Visualizzare automaticamente campi di una tabella su altra

    ernestosup ha scritto:


    Compilando la mia Tbl_Movimenti, desidererei che quando inserisco il campo "Cod Art" mi riportasse automaticamente sul record i campi "ID Articolo", "Categoria" e "Un Mis" provenienti dalla TbL_Articoli.
    Questa richiesta ha vari errori concettuali di fondo:
    1. La normalizzazione fra tabelle correlate prevede sempre e comunque un solo campo che collega tabella madre--->tabella figlia. Nella tabella figlia non devono essere riportati altri campi dalla tabella madre, ma solo il campo chiave.
    2. Quello che chiedi...eventualmente si potrebbe fare...ma si tratta di un marchingegno estetico che devi costruire grazie a una casella combinata.
    3. Quello che vuoi riportare in tabella figlia (ripeto grazie a una casella combinata)...devi chiarirci se lo vuoi vedere "tutto in un campo". Altrimenti IN TABELLA non lo puoi fare.
    4. Con una maschera il giochetto diventa molto più agevole. Si tratta di creare alcune caselle di testo "libere - non associate" ad alcun campo, ma aventi una opportuna espressione che preleva il valore della corrispondente colonna della casella combinata.
  • Re: Visualizzare automaticamente campi di una tabella su altra

    Saluti a tutti
    Osvaldo grazie per la risposta

    OsvaldoLaviosa ha scritto:


    3. Quello che vuoi riportare in tabella figlia (ripeto grazie a una casella combinata)...devi chiarirci se lo vuoi vedere "tutto in un campo". Altrimenti IN TABELLA non lo puoi fare.
    No vorrei vederli in campi diversi.

    OsvaldoLaviosa ha scritto:


    4. Con una maschera il giochetto diventa molto più agevole. Si tratta di creare alcune caselle di testo "libere - non associate" ad alcun campo, ma aventi una opportuna espressione che preleva il valore della corrispondente colonna della casella combinata.
    Ho provato a fare una maschera con origine dalla mia Tbl_Movimenti ho inserito le caselle testo non associate relative ai campi che vorrei vedere automaticamente ("Cod Art" - "ID Articolo" - "Categoria" - "Un Mis".
    Nella scheda Dati all'Origine controllo ho scritto
    = [Movimenti]![Cod Art]
    mi compare la scritta #Nome?.
    Le mie caselle combinate sono nella Tbl_Movimenti
    Cosa sbaglio?
    Grazie per le risposte
  • Re: Visualizzare automaticamente campi di una tabella su altra

    ernestosup ha scritto:


    No vorrei vederli in campi diversi.
    Non lo puoi fare in tabella.

    1. I campi CodArt, Categoria e [Un Mis] devono scomparire dalla tabella Movimenti
    2. Nella maschera Movimenti devi avere una casella combinata sul campo IDArticolo avente 4 colonne: IDArticolo, CodArt, Categoria, Un Mis
    3. La casella combinata deve avere le seguenti impostazioni:
    Tipo origine riga: Tabella/query
    Origine riga: Articoli (ammesso che ti piaccia il suo ordinamento)
    Numero colonne: 4
    Larghezza colonne: 2cm;2cm;5cm;1cm
    Larghezza elenco: il totale di Larghezza colonne
    4. Crea 3 caselle di testo non associate e dentro ci scrivi rispettivamente:
    = [IDArticolo].Column(1)
    = [IDArticolo].Column(2)
    = [IDArticolo].Column(3)
    5. Salva tutto

    Il punto 4. presuppone che la casella combinata si chiami esattamente IDArticolo.
  • Re: Visualizzare automaticamente campi di una tabella su altra

    Saluti a tutti
    Osvaldo grazie per la risposta
    Ho creato la Maschera "MMovimenti" con i tuoi suggerimenti e tutto funziona, però ai campi "Categoria" e "Un Mis" mi visualizza solo il numero della ID.
    Ti evidenzio che detti campi, nella Tbl_Articoli sono delle caselle combinate.
    Per avere la visualizzazione delle descrizione di detti campi, devo forse eliminare la casella combinata dalla Tbl_Articoli e trascrivere come testo i relativi valori??
    Grazie per la risposta
    ciao
  • Re: Visualizzare automaticamente campi di una tabella su altra

    Se quei campi sono caselle combinate, occorre modificare qualcosa a Origine riga.
    1. Vai alla proprietà Origine riga e avvicina il mouse alla estrema destra. Troverai un pulsantino con 3 puntini, cliccalo
    2. Ti si apre una visualizzazione struttura query. Qui devi importare tutte le tabelle di origine delle tue caselle combinate e fare sì che il valore di ogni colonna provenga esattamente dal campo Testo della tabella di origine. Ossia importa le tabelle Articoli, Categorie, Misure. Le tue 4 colonne devono essere così composte:
    IDArticolo, CodArt, Descrizione_Categoria, Simb
  • Re: Visualizzare automaticamente campi di una tabella su altra

    Saluti a tutti
    Osvaldo grazie per la risposta, tutto funziona a meraviglia. come sempre sei stato esaustivo in tutto.
    Grazie ancora
    ciao
Devi accedere o registrarti per scrivere nel forum
6 risposte