Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    Query date e diviosne per quadrimestre

    ciao a tutti!
    ho questo problema, volevo fare delle query per quadrimestre e visualizzare i relativi campi.

    Praticamente io inserisco prodotti con un campo data (è inserita così nel db Es. 20070526, anno,mese,giorno). ora volevo dividere l'anno in 3 quadrimestri.

    1° GEN,FEB,MARZ,APRI
    2° MAG,GIUGN, LUGLI, AGO
    3° SET, OTT, NOV, DIC

    e volevo visualizzare i prodotti inseriti nel quadrimestre selezionato.

    ora supponiamo che la mia variabile si chiami data (è quella contiene la data d'inserimento del prodotto), come compongo la stringa o per meglio dire la query?

  2. #2
    Il campo data è di tipo testo?
    basta che fai una "campoDAta BETWEEN 20061231 AND 20070501"

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    si è di tipo testo, ma se serve posso metterlo anche data/ora..mi è indifferente.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    quindi supponendo che il mio campo all'interno data del db si chiama appunto data comporrò la misa stringa così

    SQL = " SELECT * FROM Prodotti WHERE data BETWEEN 20061231 AND 20070501"
    Set RS = Conn.Execute(SQL)

    esatto?

  5. #5
    Beh, devi fare 3 query:
    codice:
    PrimoQ1 = datePart("yyyy",date()) - 1 & "1231"
    PrimoQ2 = datePart("yyyy,date() & "0501"
    sql1 = "SELECT * FROM tabella WHERE campoData > '" & PrimoQ1 & "' AND campoData < '" & PrimoQ2 & "'"
    
    SecondoQ1 = datePart("yyyy,date() & "0430"
    SecondoQ2 = datePart("yyyy,date() & "0901"
    sql2 = "SELECT * FROM tabella WHERE campoData > '" & SecondoQ1 & "' AND campoData < '" & SecondoQ2 & "'"
    
    TerzoQ1 = datePart("yyyy,date() & "0831"
    TerzoQ2 = datePart("yyyy,date() + 1 & "0101"
    sql3 = "SELECT * FROM tabella WHERE campoData > '" & TerzoQ1 & "' AND campoData < '" & terzoQ2 & "'"

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    scusa ma ti faccio qualche domanda per capire merglilo

    la funzione datePart("yyyy",date()) mi restituisce la data attuale?

    perchè faccio 3 query?

  7. #7
    Te hai detto di avere le date nel formato 20070523, che sarebbe 23/05/2007. quindi quei valori sono il mese e il giorno precedente di inizio trimestre e successivo alla fine del trimestre.
    Se siamo nel 2007 la variabile PrimoQ1 contiente 20061231, ovvero 31/12/2006 che è il giorno precedente all'inizio del primo trimestre dell'anno in corso, mentre PrimoQ2 contiene 20070501, ovvero 01/05/2007 che è il giorno successivo alla fine del primo trimestre.
    La query, quindi prende i dati compresi superiori a 20061231 e inferiori a 20070501... ti è chiaro?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    si si...le 3 query non sono legate giusto?..te me le hai postate tutte e 3 per farmi un esempio di tutte e 3 giusto?...non sono collegate da un if o comuque non devo fare un controllo du tutte e 3 contemporaneamente giusto?

  9. #9
    Si, era un semplice esempio, ovviamente.
    Come gestirle sta a te.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    ho fatto qualche prova...e mi sebra che mi funzioni!

    ora ho un piccolo problema..volevo sapere come faccio a convertire la mia data 20070523 in una data del genere 23/05/2007 ?

    PS. Vado un può fuori topic...nesuno sà come copiare in una colonna di un db in access....i valori di una colonna di un'altra tabella..quando le celle da copiare sono amggiori di quelle già esistenti nel vecchio db?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.