Estrarre un valore di campo in base ad un altro con query

di il
9 risposte

Estrarre un valore di campo in base ad un altro con query

Buona sera a tutti, dopo il problema della query di aggiornamento che ovviamente non sono riuscito a risolvere ho fatto un passo indietro e vorrei fare in modo diverso... spiego brevemente il problema:

Ho una tabella1 con ID, ARTICOLI e PREZZO. ( un prezzario insomma) ID = numero automatico
Ho un altra tabella2 vuota con ID (numero automatico) , ID_ARTICOLO , ARTICOLI e PREZZO.

Con una query1 ho estratto dalla tabella PREZZARIO la serie di tutti gli articoli.
Ho collegato il campo ARTICOLO della tabella2 usando la modalità casella combinata alla query1 in modo tale da avere un eleco con tutti gli articoli da poter selezionare.
Ora quello che non riesco a fare è questo: In base all'articolo selezionato, presumo una query dovrebbe darmi il prezzo e anche magari nel campo ID_ARTICOLO la posizione che occupa nel prezzario. tutto qui.... Il tutto evitando di sbagliare a darmi il prezzo se vi sono 5 articoli con lo stesso nome ma prezzi diversi.

Spero nella aiuto di tutti... ringrazion gia osvaldo che ormai è stanco di vedere le mie richieste da principiante
x osvaldo: Devi scusarmi se non riesco a seguire il tuo consiglio della normalizzazione ma siccome il db che devo andare a fare è una cosa molto semplice se risolvo questo problema ho finito. Dalla prossima volta cercherò di seguire le tue direttive

9 Risposte

  • Re: Estrarre un valore di campo in base ad un altro con query

    Ciao matteo... non ho capito solo una cosa:
    Ora quello che non riesco a fare è questo: In base all'articolo selezionato, presumo una query dovrebbe darmi il prezzo e anche magari nel campo ID_ARTICOLO la posizione che occupa nel prezzario.
    Sopra hai detto che, selezionando nell'elenco a discesa un detrrminato articolo, vorresti una query che ti ritornasse i valori che ti ho marcato in rosso...

    detto questo... quando scrivi:
    Il tutto evitando di sbagliare a darmi il prezzo se vi sono 5 articoli con lo stesso nome ma prezzi diversi.
    intendi dire che nel prezzario è possibile che tu abbia diversi record riguardanti lo stesso articolo ma con prezzi differenti?
  • Re: Estrarre un valore di campo in base ad un altro con query

    Ciao angelo, il problema è piu esteso: avevo gia risolto questo casino con una query di aggiornamento che mi faceva tutto il valoro. Il problema è questo: se ho 5 articoli con lo stesso nome esempio PENNELLI che vengono da fornitori diversi e che quindi hanno prezzi diversi, la query che avevo fatto scorreva l'elenco degli articoli, quando trovava quello corrispondete a a livello di lettere", mi prendeva quel prezzo li e ovviamente non va bene perche ho 5 articoli tutti uguali sparsi nel prezzario.
  • Re: Estrarre un valore di campo in base ad un altro con query

    Inoltre per rispondere alla tua domanda ultima, si ho record in posizioni diverse con lo stesso nome. Ecco perche usando la chiave ID ogni record indipendentemente se ha lo stesso valore di test di un altro non viene confuso....
    Sto impazzendo giuro
  • Re: Estrarre un valore di campo in base ad un altro con query

    Con una query1 ho estratto dalla tabella PREZZARIO la serie di tutti gli articoli.
    Nella query1 devi passare ID, ARTICOLI e PREZZO ovvero tutti i campi del prezzario
    Ho collegato il campo ARTICOLO della tabella2 usando la modalità casella combinata alla query1 in modo tale da avere un eleco con tutti gli articoli da poter selezionare.
    Devi mettere come proprietà “colonna associata” quella dell’ID e poi devi rendere visibili solo le altre 2 colonne agendo sulla proprietà larghezza colonne.

    Poi Crei una maschera basata su tabella2 e metti nell’evento dopo aggiornamento del campo riferito all’articolo una funzione che ti valorizzi il prezzo e la posizione in base all’ID… ovvero utilizzerai la funzione Dlookup (nella guida integrata di access c’è)

    N.B: anche se dlookup ti prende la prima occorrenza degli articoli ripetuti, il problema non dovrebbe sussistere perchè tramite il criterio impostato sull'ID sarai tu a decidere, selezionandolo, qual'è l'articolo dal quale prendere i dati.
  • Re: Estrarre un valore di campo in base ad un altro con query

    Ottimo. provero. pero non lo posso fare con una query? siccome da quel prezzo che mi va a pescare vorrei applicare uno sconto e aggiornare un altro campo sempre in tabella2.
  • Re: Estrarre un valore di campo in base ad un altro con query

    Devi mettere come proprietà “colonna associata” quella dell’ID e poi devi rendere visibili solo le altre 2 colonne agendo sulla proprietà larghezza colonne.
    AH devi mettere anche numero colonne = 3
  • Re: Estrarre un valore di campo in base ad un altro con query

    In queste immagini hai tutte le info che ti servono:
    relazioni e oggetti database
    relazioni e oggetti database


    Proprietà campo articoli di quella che tu hai chiamato tabella2
    Proprietà campo articoli di quella che tu hai chiamato tabella2


    Query1 con tutti e 3 i campi
    Query1 con tutti e 3 i campi


    Codice da mettere nell'evento dopo aggiornamento del controllo Articoli nella maschera
    Codice da mettere nell'evento dopo aggiornamento del controllo Articoli nella maschera


    maschera con il controllo selezionato dentro il quale devi inserire il codice nell'evento dopo aggiornamento
    maschera con il controllo selezionato dentro il quale devi inserire il codice nell'evento dopo aggiornamento

  • Re: Estrarre un valore di campo in base ad un altro con query

    Grazie angelo sono in debito. avevo fatto esattamente i primi passi con la relazione tra le due tabelle ma ho sbagliato proprio ad usare id nella casella combinata.
  • Re: Estrarre un valore di campo in base ad un altro con query

    Sono felice che tu abbia risolto.
    ti ho mandato un mp
Devi accedere o registrarti per scrivere nel forum
9 risposte