Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Estrazione date da query

    Ciao.

    Se volessi estrarre da un db access, che contiene una data nel formato aaaa/mm/gg, soltanto il mese o l'anno come devo impostare la query?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Perchè dà quest'errore ??? :

    Error Type:
    Microsoft JET Database Engine (0x80040E07)
    Data type mismatch in criteria expression.
    codice:
    MESE_DALFORM = split(mese, "/")
    mese0 = mese_DALFORM(0)
    mese1 = mese_DALFORM(1)
    mese2 = mese_DALFORM(2)
    
    anno_DALFORM = split(anno, "/")
    anno0 = anno_DALFORM(0)
    anno1 = anno_DALFORM(1)
    anno2 = anno_DALFORM(2)
    
    strSQL = "SELECT "
    strSql = strSql & " AND mid(CAMPODATA,6,2) = "& mese1 &" "
    strSql = strSql & " AND right(CAMPODATA,4) = "& anno2 &" "
    
    Set rs = Conn.Execute(strSQL)
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  3. #3
    a occhio e croce perchè la select è incompleta
    non gli dici cosa deve selezionare dal db e manca anche la WHERE
    ...ancora credi a internet? :maLOL:

  4. #4
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Errore di copia/incolla:


    codice:
    MESE_DALFORM = split(mese, "/")
    mese0 = mese_DALFORM(0)
    mese1 = mese_DALFORM(1)
    mese2 = mese_DALFORM(2)
    
    anno_DALFORM = split(anno, "/")
    anno0 = anno_DALFORM(0)
    anno1 = anno_DALFORM(1)
    anno2 = anno_DALFORM(2)
    
    strSQL = "SELECT * "
    strSql = strSql & " FROM "
    strSql = strSql & " Gest "
    strSql = strSql & " WHERE "
    strSql = strSql & " mid(CAMPODATA,6,2) = "& mese1 &" "
    strSql = strSql & " AND right(CAMPODATA,4) = "& anno2 &" "
    
    Set rs = Conn.Execute(strSQL)
    Risultato query:

    codice:
    SELECT * FROM Gest WHERE mid(CAMPODATA,6,2) = 08 AND right(CAMPODATA,4) = 2006
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Sbagliavo nel contare i caratteri della stringa, adesso è tutto OK:


    codice:
    MESE_DALFORM = split(mese, "/")
    mese0 = mese_DALFORM(0)
    mese1 = mese_DALFORM(1)
    mese2 = mese_DALFORM(2)
    
    anno_DALFORM = split(anno, "/")
    anno0 = anno_DALFORM(0)
    anno1 = anno_DALFORM(1)
    anno2 = anno_DALFORM(2)
    
    strSQL = "SELECT * "
    strSql = strSql & " FROM "
    strSql = strSql & " Gest "
    strSql = strSql & " WHERE "
    strSql = strSql & " mid(CAMPODATA,4 ,2) = "& mese1 &" "
    strSql = strSql & " AND right(CAMPODATA,4) = "& anno2 &" "
    
    Set rs = Conn.Execute(strSQL)
    Risultato query:

    codice:
    SELECT * FROM Gest WHERE mid(CAMPODATA,4 ,2) = 08 AND right(CAMPODATA,4) = 2006
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  6. #6
    prova a sostituire queste 2 righe


    strSql = strSql & " mid(CAMPODATA,6,2) = "& mese1 &" "
    strSql = strSql & " AND right(CAMPODATA,4) = "& anno2 &" "


    con queste

    strSql = strSql & " mid(CAMPODATA,6,2) = '"& mese1 &"'"
    strSql = strSql & " AND right(CAMPODATA,4) = '"& anno2 &"'"
    ...ancora credi a internet? :maLOL:

  7. #7
    cmq se è una data basta che fai select Month(data) as mese from tabella


  8. #8
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Segnati 100 punti Santino!!!!
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  9. #9
    Originariamente inviato da orcim
    Segnati 100 punti Santino!!!!
    100 punti esperienza aggiunti ancora 900 e salgo di livello

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.