Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Query per la scadenza data
giovedì 27 novembre 2008 - 15.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 27 nov 2008 - 15:50
come posso realizzare una query che mi avvisi qualche giorno prima o anche un mese prima, della scadenza? Cioè
Ho un db access con un campo (date/time) dove inserisco una data di scadenza.
Come posso creare una query in grado di avvisarmi prima (qualche giorno o un mese) della scadenza?
jenga
Profilo
| Newbie
44
messaggi | Data Invio:
gio 27 nov 2008 - 16:20
>come posso realizzare una query che mi avvisi qualche giorno
>prima o anche un mese prima, della scadenza? Cioè
>Ho un db access con un campo (date/time) dove inserisco una data
>di scadenza.
>Come posso creare una query in grado di avvisarmi prima (qualche
>giorno o un mese) della scadenza?
>
Usa la funzione datediff per estrarre la differenza in giorni tra oggi e la data di scadenza:
DATEDIFF(dd, getdate(), <data_scadenza>)
poi dipende di cosa deve avvisarti...
--
oggi la mia voglia di lavorare è pari a null
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 27 nov 2008 - 16:51
Con access getdate() non funziona.
Mi genera un'eccezione
jenga
Profilo
| Newbie
44
messaggi | Data Invio:
gio 27 nov 2008 - 17:11
hai ragione, quella è la funzione di SQL Server
Con access una Now ()
--
oggi la mia voglia di lavorare è pari a null
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 27 nov 2008 - 17:16
Si ho provato ma mi genere questa eccezione:
"Si sono verificati errori in un'operazione OLE DB composta da più passaggi. Controllare i singoli valori di stato OLE DB, se disponibili. Nessuna operazione eseguita. Chiamata di routine non valida"
la query è questa: select DateDiff('g',now(),datascadenza) from scadenze
Non mi fa leggere la riga creata con il valore della differenza
jenga
Profilo
| Newbie
44
messaggi | Data Invio:
gio 27 nov 2008 - 17:39
>la query è questa: select DateDiff('g',now(),datascadenza) from
>scadenze
La mia è così:
DateDiff('d',Now(),[DATA_PESA])
--
oggi la mia voglia di lavorare è pari a null
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 27 nov 2008 - 17:43
Ho sbagliato a scrivere io
Si in access funziona, me la esegue perfettamente, ma questo problema me lo da in vb.net.
Non mi riesce ad estrarre il valore del campo dinamico (quello con il valore della differenza).
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 27 nov 2008 - 23:20
>Ho sbagliato a scrivere io
>Si in access funziona, me la esegue perfettamente, ma questo
>problema me lo da in vb.net.
>Non mi riesce ad estrarre il valore del campo dinamico (quello
>con il valore della differenza).
Hai specificato un alias di colonna mediante la keyword AS <tuo alias>?
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 27 nov 2008 - 23:27
Si.
MyCmd = DBConn.CreateCommand()
MyCmd.CommandText = "select DateDiff('g',now(),[datascadenza])as Valore, sito from scadenze"
MyReader = MyCmd.ExecuteReader
Do While MyReader.Read
Dim C As Integer
C = MyReader.Item("Valore")
Loop
Da cosa potrebbe dipendere?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 27 nov 2008 - 23:39
> Do While MyReader.Read
> Dim C As Integer
> C = MyReader.Item("Valore")
> Loop
>
>Da cosa potrebbe dipendere?
Dichiarando una variabile all'interno di un ciclo While...Loop, il suo scope sarà limitato al ciclo stesso, quindi verrà deallocata al termine del loop.
Sposta la Dim al di fuori del ciclo, anche se facendo in questo modo C verrà valorizzata con l'ultimo valore restituito dalla query.
Ora, si può sapere che cosa vuoi fare?
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
ven 28 nov 2008 - 00:03
Questa prova l'ho già fatta.
Il problema è nell'estrarre il valore ottenuto dalla funzione DateDiff, perchè se nella query aggiungessi un'altro campo così:
MyCmd.CommandText = "select DateDiff('g',now(),[datascadenza])as Valore, Nome from scadenze"
mydatareader.item("Nome").tostring
mi restituisce il valore corretto.
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
ven 28 nov 2008 - 00:19
Ho provato adesso con Access 2003 ad eseguire la query e nella colonna che dovrebbe contenere il valore della datediff mi esce #ERRORE
Quindi il problema sta nella query
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
ven 28 nov 2008 - 09:04
Ho risolto il DataInterval non è 'g' ma 'd'.
Una mia svista.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !