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?
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
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
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:
Errore di copia/incolla:
Risultato query: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)
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
Sbagliavo nel contare i caratteri della stringa, adesso è tutto OK:
Risultato query: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)
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
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:
cmq se è una data basta che fai select Month(data) as mese from tabella
![]()
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
100 punti esperienza aggiuntiOriginariamente inviato da orcim
Segnati 100 punti Santino!!!!![]()
ancora 900 e salgo di livello
![]()