Somma data in tabella

di
Anonimizzato8433
il
8 risposte

Somma data in tabella

Ciao a tutti,
chiedo l'aiuto del forum per questo piccolo (non per me) problema:

ho una tabella con campi:
*DataOdierna
*COGNOME
*NOME
*DATAATTO
*PERIODO (giorni)
*DATACONSEGNA
*CONSEGNATA (campo Si/No)

Il campo DATACONSEGNA nella maschera diventa un campo calcolato poichè è =DATAATTO+PERIODO

ebbene vorrei creare una query che mostri
i dati suindicati che abbiano:
- campo CONSEGNATAimpostato a NO
- campo DATACONSEGNA < OR = a campo DATAODIERNA

questa è la mia query che però non va ...

SELECT Registro.DataOdierna, Registro.Cognome, Registro.Nome, Registro.DataAtto, Registro.Periodo, Registro.DataConsegna, [Registro]![DataConsegna]<"Or" AS Espr1
FROM Registro
WHERE ((([Registro]![DataConsegna]<"Or")=[Registro]![DataOdierna]) AND ((Registro.Evasa)=False))
ORDER BY Registro.Cognome, Registro.Nome, Registro.DataConsegna;

Altra cosa riguarda il campo PERIODO che ho impostato come numero,ebbene nel fare la somma questo mi calcola il totale considerandolo come giorni mentre io vorrei che me lo considerasse come mesi, credete sia possibile ?
Grazie a tutti

8 Risposte

  • Re: Somma data in tabella

    mazda91 ha scritto:


    ho una tabella con campi:
    *DataOdierna
    *COGNOME
    *NOME
    *DATAATTO
    *PERIODO (giorni)
    *DATACONSEGNA
    *CONSEGNATA (campo Si/No)

    Il campo DATACONSEGNA nella maschera diventa un campo calcolato poichè è =DATAATTO+PERIODO
    Questa organizzazione campi non è normalizzata. Dovresti strutturare almeno 2 tabelle Clienti (o Anagrafica) e Atti da relazionare uno-a-molti.

    mazda91 ha scritto:


    vorrei creare una query che mostri
    i dati suindicati che abbiano:
    - campo CONSEGNATAimpostato a NO
    - campo DATACONSEGNA < OR = a campo DATAODIERNA
    Io non so usare SQL, ma provo a suggerire la seguente soluzione:
    1. Apri la query in visualizzazione struttura, importa la tabella e trascina i campi che ti interessa vedere
    2. In corrispondenza di Criterio:
    alla colonna CONSEGNATA, scrivi "False"
    alla colonna DATACONSEGNA, scrivi [DATACONSEGNA]<=[DATAODIERNA]

    mazda91 ha scritto:


    Altra cosa riguarda il campo PERIODO che ho impostato come numero,ebbene nel fare la somma questo mi calcola il totale considerandolo come giorni mentre io vorrei che me lo considerasse come mesi, credete sia possibile ?
    Prova a dare un'occhiata a questo link
    http://office.microsoft.com/it-it/access-help/esempi-di-criteri-di-query-HA010066611.aspx
    devi un po' ingegnarti per trovare la formula giusta per giocare con numeri e estrazioni di valori da una data.
  • Re: Somma data in tabella

    Ciao Osvaldo,
    come sempre grazie della risposta.
    Risolto il problema della normalizzazione creando due tabelle.
    Rimane ora la parte più ostica ... cioè:
    il campo DATACONSEGNA è ottenuto nella maschera risultante dall'unione delle tabelle REGISTRO e ANAGRAFICA laddove sommo in una casella di testo il campo DATAATTO con il campo PERIODO (espresso in giorni), ora questo dato NON va a finire nel omonimo campo della tabella e quindi non posso andare a creare una query perchè così facendo trovo quel campo non popolato e non ottengo nulla.
    Spero di essere stato chiaro e scusami se è passato del tempo ma sono stato preso da altro lavoro.
    Grazie e ciao

    ligiem
  • Re: Somma data in tabella

    Non ti seguo perchè io ho Access 2003 che non prevede la possibilità di un campo calcolato in tabella. Se vuoi ottenere un risultato in un campo calcolato, devi organizzare una query.
  • Re: Somma data in tabella

    Ciao Osvaldo,
    il problema nasce dal fatto che il calcolo con access 2007 non può essere fatto in tabella (dove poi vai a creare la query).
    La mia esigenza si collega ad uno scadenziario. L'idea era, tramite, query visualizzare le scadenze con data OGGI o antecedente a OGGI.
    A questo punto l'unica cosa che riesco a immaginare è la creazione di una macro (o forse routine) che all'avvio apra la maschera SCADENZE e faccia un FILTRO-IN-BASE-A-MASCHERA con criterio sul campo scadenza impostato a < o = a DATAODIERNA.
    Ora devo capire come realizzarla.
    Credi sia possibile o sto sognando ?

    Ciao
  • Re: Somma data in tabella

    Confesso che ho perso il filo del "nuovo discorso" e, in ogni caso, ho bisogno di vedere come avresti strutturato le 2 nuove tabelle, con nomi campo e relazioni. Dopo avermi mostrato il nuovo scenario, riproponi le domande.
  • Re: Somma data in tabella

    Eccomi,
    allora queste solo le 2 tabelle:
    ANAGRAFICA con
    IDPERSONA-COGNOME-NOME-NATOA-IL-RESIDENTEA-INDIRIZZO
    SCADENZE con
    IDSCADENZA-DATAODIERNA-DATAPARTENZA-PERIODO-DATADECORRENZA-PRATICAEVASA (Si/No)-IDPERSONA
    Il campo IDPERSONA (Contatore) di Anagrafica relazionato una-a-molti con IDPERSONA di Scadenze.
    Come dicevo (solo) il campo DATADECORRENA è un campo calcolato, ovviamente è calcolato non in tabella (dove non si può) ma in una maschera (maschera SCADENZE), e poichè non è in tabella non posso farci delle query. .
    ciao
  • Re: Somma data in tabella

    Per ottenere una query con tutti quei campi che hai elencato

    mazda91 ha scritto:


    IDSCADENZA-DATAODIERNA-DATAPARTENZA-PERIODO-DATADECORRENZA-PRATICAEVASA (Si/No)
    basta importare la tabella SCADENZE, trascinare tutti i campi disponibili. In una successiva colonna vuota della visualizzazione struttura query, devi scrivere in alto al primo rigo, una sintassi così:
    DATADECORRENZA: <la stessa espressione di calcolo che hai scritto nella maschera senza = davanti>
  • Re: Somma data in tabella

    Grazie ad Osvaldo per la soluzione proporsta ... funziona.
    Ciao
Devi accedere o registrarti per scrivere nel forum
8 risposte