Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

Query di accodamento sulla stessa tabella

  1. #1
    paoloderigo non  in linea Scolaretto
    Ciao a tutti
    ho una tabella in cui inserisco dei record con campi[anno] e [mese]. I record hanno un campo [Anno] perch vorrei duplicare i record della tabella e solo quelli dell'anno precedente.
    Ho provato ad utilizzare una query di accodamento ma quando lancio la procedura mi accoda i record di tutti gli anni mentre, ripeto, a me servono solo quelli dell'anno precedente.
    In pratica non sono in grado di farlo!
    Scopiazzando ho scritto un codice che copia i record della tabella ma non riesco a copiarli tutti... il codice ne copia solo uno alla volta... anche qui sono fermo.. e anche qui dovrei filtrare quelli dell'anno precedente...


    qualsiasi aiuto gradito

    ciao

    paolo

  2. #2
    L'avatar di gibra
    gibra non  in linea Very Important Person

  3. #3
    paoloderigo non  in linea Scolaretto
    INSERT INTO ANNI_CARRELLI ( ID_MACCHINA, ANNO, N_FOGLIO_LAVORO, GEN, FEB, MAR, APR, MAG, GIU, LUG, AGO, SETT, OTT, NOV, DIC )
    SELECT ANNI_CARRELLI.ID_MACCHINA, ANNI_CARRELLI.ANNO, ANNI_CARRELLI.N_FOGLIO_LAVORO, ANNI_CARRELLI.GEN, ANNI_CARRELLI.FEB, ANNI_CARRELLI.MAR, ANNI_CARRELLI.APR, ANNI_CARRELLI.MAG, ANNI_CARRELLI.GIU, ANNI_CARRELLI.LUG, ANNI_CARRELLI.AGO, ANNI_CARRELLI.SETT, ANNI_CARRELLI.OTT, ANNI_CARRELLI.NOV, ANNI_CARRELLI.DIC
    FROM ANNI_CARRELLI
    WHERE (((ANNI_CARRELLI.ANNO)=Year(Now());

  4. #4
    L'avatar di gibra
    gibra non  in linea Very Important Person
    C' anche una chiave primaria?
    Immagino di s, qual'?
    Ultima modifica di gibra; 17-02-2015 17:29 
    ℹ️ Leggi di pi su gibra ...

  5. #5
    paoloderigo non  in linea Scolaretto
    si esiste ed ID_ANNO_CARRELLI che non ho inserito perch non si possono accodare campi con chiave primaria (se ho capito bene....)
    grazie

  6. #6
    L'avatar di gibra
    gibra non  in linea Very Important Person
    OK, la query sintatticamente corretta, ma pu non esserlo dal punto di vista logico.

    Se tu fai

    SELECT *
    FROM ANNI_CARRELLI
    WHERE ANNI_CARRELLI.ANNO=Year(Now())
    
    quanti record restituisce?

    Guarda che tu hai scritto:

    vorrei duplicare i record della tabella e solo quelli dell'anno precedente.
    ma non quello che stai cercando di fare.
    In realt stai cercando di duplicare i record dell'anno corrente, e magari ce n' uno solo.

    Dovresti scrivere

    WHERE ANNI_CARRELLI.ANNO=Year(Now()) -1
    
    ℹ️ Leggi di pi su gibra ...

  7. #7
    paoloderigo non  in linea Scolaretto
    siiiiii, fantastico.
    Gi che sei disponibile ti chiedo un ulteriore passaggio
    Vorrei che nel campo [anno] dei record copiati fosse inserito l'anno corrente.
    Immagino sia possibile.

    Altra cosa ...
    ho aggiunto un campo [totale_anno] dove vorrei inserire, nei record copiati, il totale per anno dell'anno precedente posto nel campo testo di cui sotto.

    premetto che ho deciso di comperarmi al pi presto un manuale di VBA.

    Altra domanda ma mi sa che sono in crossposting
    devo sommare i campi contenuti nei vari mesi. i campi sono numerici e vuoti.
    mi pare di avere capito che non si possono sommare campi num vuoti o Null-
    In questo caso cosa si deve fare??

    grazie in anticipo

    paolo
    Ultima modifica di paoloderigo; 18-02-2015 16:32 

  8. #8
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da paoloderigo Visualizza il messaggio
    siiiiii, fantastico.
    Vorrei che nel campo [anno] dei record copiati fosse inserito l'anno corrente.
    Immagino sia possibile.
    Certo, nella query al posto di ANNO indichi il valore costante che vuoi inserire nel campo. Esempio:

    INSERT INTO ANNI_CARRELLI ( ID_MACCHINA, Year(Now()) As ANNO, N_FOGLIO_LAVORO, .........
    

    Quote Originariamente inviato da paoloderigo Visualizza il messaggio
    Altra cosa ...
    ho aggiunto un campo [totale_anno] dove vorrei inserire, nei record copiati, il totale per anno dell'anno precedente posto nel campo testo di cui sotto.

    premetto che ho deciso di comperarmi al pi presto un manuale di VBA.

    Altra domanda ma mi sa che sono in crossposting
    devo sommare i campi contenuti nei vari mesi. i campi sono numerici e vuoti.
    mi pare di avere capito che non si possono sommare campi num vuoti o Null-
    In questo caso cosa si deve fare??

    grazie in anticipo

    paolo
    Queste cose non si fanno in una tabella, sono sbagliate e non hanno senso, perch i totali non sono record.
    Queste interrogazioni si fanno nei report, oppure con query a parte se si vuol visualizzare il valore in una maschera, ecc.

    Ma per queste domande, devi aprire una nuova discussione.
    Come prevede il Regolamento: 1 problema -> 1 discussione.

    ℹ️ Leggi di pi su gibra ...

  9. #9
    paoloderigo non  in linea Scolaretto
    grazie mille
    non avevo pensato ad un report perch i totali mi servivano sulla maschera.
    adesso ci penso

    comunque grazie di tutto

    paolo

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. combobox e filtro per data sulla stessa tabella
    Da Sarri nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 05-02-2017, 03:35
  2. Risposte: 4
    Ultimo Post: 12-04-2016, 09:38
  3. Query Creazione Tabella + Query accodamento
    Da Alfonso1959 nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 24-03-2016, 12:39
  4. Risposte: 2
    Ultimo Post: 19-01-2013, 23:26
  5. Risposte: 8
    Ultimo Post: 11-10-2005, 17:21