Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Quary su db access

  1. #1

    Quary su db access

    Ciao ragazzi,
    Vado subito al punto :

    Ho un database in access, del quale mi interessano i seguenti 4 campi(CodiceArticolo,Descrizionearticolo,tipomov,q uantità);

    Ci possono essere due valori nel campo tipomov, S(scarico) e C=(Carico).
    Per ogni singolo articolo ci sono diversi record con S e diversi con C ed io devo fare in modo che per ogni articolo ci sia un solo record con C ed uno con S, quindi sommare tutti i valori delle quantità.
    In altre parole per ogni singolo inserimento che è stato fatto del prodotto in magazzino è stato inserito un nuovo record è non aggiornata la quantità di quello già esistente, lo stesso vale per lo scarico, quindi adesso devo compattare tutti gli scarichi ed i carichi.


    Grazie mille anticipatamente.

    Saluti.
    Fabio.
    By Afexer

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    e la domanda qual'e'?

  3. #3
    "io devo fare in modo che per ogni articolo ci sia un solo record con C ed uno con S, quindi sommare tutti i valori delle quantità."

    Questa è la domanda.. Come eseguo quest'operazione? Come sommo tutti i carichi in uno solo? Come si esegue tale operazione con una quary in access? Oppure anche in excel?
    By Afexer

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da 123delphi321
    e la domanda qual'e'?
    come si fa un update con SUM, così a naso

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Afexer
    "io devo fare in modo che per ogni articolo ci sia un solo record con C ed uno con S, quindi sommare tutti i valori delle quantità."

    Questa è la domanda.. Come eseguo quest'operazione? Come sommo tutti i carichi in uno solo? Come si esegue tale operazione con una quary in access? Oppure anche in excel?
    Excel?
    Cosa c'entra adesso Excel???

    Scusa, ma stai lavorando in Access oppure in Excel?

    Non è mica la stessa cosa, ed è ovvio che anche il procedimento è diverso,
    anche perchè con una sola query non riesci a farlo, in quanto come fai a sommare le quantità e nello stesso tempo eliminare i record in eccesso?

    Secondo me le cose da fare (se usi Access) sono:
    1. creare una tabella 'temporanea' con i valori corretti
    2. svuotare la tabella 'reale'
    3. copiare i dati dalla tabella temporanea in quella reale
    4. eliminare la tabella temporanea

    Se invece usi Excel allora è tutta un'altra musica, e credo che in questo caso tu sia OT in questo forum.


  6. #6

    Re: Quary su db access

    Originariamente inviato da Afexer
    Ci possono essere due valori nel campo tipomov, S(scarico) e C=(Carico).
    Per ogni singolo articolo ci sono diversi record con S e diversi con C ed io devo fare in modo che per ogni articolo ci sia un solo record con C ed uno con S, quindi sommare tutti i valori delle quantità.
    In altre parole per ogni singolo inserimento che è stato fatto del prodotto in magazzino è stato inserito un nuovo record è non aggiornata la quantità di quello già esistente, lo stesso vale per lo scarico, quindi adesso devo compattare tutti gli scarichi ed i carichi.
    ma è sbagliato! così (compattando) ti perdi tutti i dettagli dei carichi/scarichi. Aggiungi due campi all'articolo: totale carichi e totale scarichi, poi li aggiorni

  7. #7
    Ok , e come mi calcolo i totali? Perche praticamente devo sommare le quantità di tutti gli articoli che hanno descrizione e tipo di movimento uguale
    By Afexer

  8. #8
    helppppppppppppp
    By Afexer

  9. #9
    Originariamente inviato da Afexer
    Ok , e come mi calcolo i totali? Perche praticamente devo sommare le quantità di tutti gli articoli che hanno descrizione e tipo di movimento uguale
    codice:
    SELECT * FROM
    (
    SELECT ARTICOLO, SUM(QUANTITA) AS CARICO, 0 AS SCARICO FROM MOVIMENTI WHERE TIPO_MOVIMENTO='C' GROUP BY ARTICOLO
    UNION
    SELECT ARTICOLO, 0, AS CARICO, SUM(QUANTITA) AS SCARICO FROM MOVIMENTI WHERE TIPO_MOVIMENTO='S' GROUP BY ARTICOLO
    )
    ORDER BY ARTICOLO

  10. #10
    se ho capito giusto a te serve di trovare quanta roba hai in magazzino perchè il sistema su carichi e scarichi non aggiorna le quantità, giusto?

    in questo caso prima di fare gli update fai una query di questo tipo

    codice:
    SELECT 
        tname.CodiceArticolo,
        tname.Descrizionearticolo,
        tname.tipomov,
        sum(tname.quantità) AS Qty
    from 
        tname
    GROUP BY 
        tname.tipomov,
        tname.CodiceArticolo
    ORDER BY 
        tname.CodiceArticolo,
        tname.tipomov
    che ti mostra quanti sono gli articoli caricati e quanti sono gli articoli scaricati, ordinati per codice articolo.

    più o meno in questo modo
    codice:
    + ------------------- + ------------------------ + ------------ + -------- +
    | CodiceArticolo      | Descrizionearticolo      | tipomov      | Qty      |
    + ------------------- + ------------------------ + ------------ + -------- +
    | 1                   | aaa                      | c            | 12       |
    | 1                   | aaa                      | s            | 11       |
    | 2                   | bbb                      | c            | 5        |
    | 2                   | bbb                      | s            | 6        |
    | 3                   | ccc                      | c            | 2        |
    | 3                   | ccc                      | s            | 2        |
    + ------------------- + ------------------------ + ------------ + -------- +
    6 rows
    il tutto assumendo che la tua tabella si chiami tname (se non si chiama così cambia tname con il nome della tua tabella).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.