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
Operatore between...and...in un db.mdb
lunedì 12 aprile 2010 - 22.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bobo89
Profilo
| Junior Member
77
messaggi | Data Invio:
lun 12 apr 2010 - 22:31
buona sera a tutti averi un problemino con questo tipo di operatore.
Spiego subito il problema, io insersco in una tabella SERVIZI il tipo di servizio da svolgere e una data di inizio e una data di fine. ( i servizi hanno durata che va da 1 anno a 5anni).
pongosubito un esempio nella mia tabella ci sono i seguent dati:
SERVIZIO PERSONA DATA inizio DATA fine
-redazione piero 01/01/2010 01/01/2011
-redazione mario 01/08/2010 01/08/2011
adesso devo esportare in un DGV questi dati con questo criterio
dato ke ogni servizio puo essere svolto da più persone contemporaneamente, a me serve importare nel DGV il nome delle persone che nella data odierna(Now.Date) stanno svolgendo quel compito.
se Now.Date va da 01/01/2010 a 31/07/2010 mi dovra comparire solo il nome piero (in quanto mario non ha iniziato in questo periodo di tempo il suo servizio)
se Now.Date va da 01/08/2010 a 31/10/2010 mi dovranno comparire i nomi mario e piero
se Now.Date va da 01/01/2011 a 31/07/2011 mi dovra comparire solo mario
(Spero di Aver reso l idea di quello che volevo dire)
Per fare qst niente di meglio ke un selct
quindi : select persona from servizi where 'now.date' BETWEEN 'data inizio' AND 'data fine'
questa query non mi funziona!!!
Come posso fare???
dai diversi tentativi mi è parso di capire che la between lavora su una stessa colonna e non su colonne diverse....(oppure ho capito male???)
Chi mi aiuta in questo mio problema???!
Grazie mille!
Piero
Giuseppe_gzp
Profilo
| Newbie
25
messaggi | Data Invio:
mar 13 apr 2010 - 00:07
ciao,
si la between funziona solo su valori della stessa colonna,
prova a fare questa query
select persona from servizi where datediff(d,getdate(),datainizio)>=0 AND datediff(d,getdate(),datafine)<=0
l'ho buttata cosi, non so se funzionerà
fammi sapere ciao!;)
bobo89
Profilo
| Junior Member
77
messaggi | Data Invio:
mar 13 apr 2010 - 13:25
Ciao,
Avevo gia provato in quel modo ma niente non funziona!!
la soluzione l ho trovata!!! ho fatto in questo modo
inserisco la la data ne l formato mese anno
in 2 combox diverse
uno per il mese numeri da 1 12 e l ltro l anno. poi il codice è il seguente:
-----------------------------------------------------------------------------------------------------------------------------------------
If csServizi.Text = "CRE-Equipe" Then
Dim MyConn As OleDbConnection
Dim MyCMd As OleDbCommand
MyConn = New OleDbConnection
Dim MyRead As OleDbDataReader
MyConn.ConnectionString = "Provider = Microsoft.Jet.OleDB.4.0;Data Source = C:\END.A.mdb"
MyConn.Open()
MyCMd = MyConn.CreateCommand
MyCMd.CommandText = "select idr, nome_lui, cognome_lui, nome_lei, equipe, fineM, fineA from serviziAssegnati where servizio='" & csServizi.Text & "' and " & Now.Year & " <= fineA " ' and fineM >=" & Now.Month & " "
' MsgBox(MyCMd.CommandText)
MyRead = MyCMd.ExecuteReader
Dim idr As Integer
Dim cognome_lui As String
Dim nome_lui As String
Dim nome_lei As String
Dim equipe As String
Dim fineM As Integer
Dim fineA As Integer
DataGridView1.Rows.Clear()
Do While MyRead.Read = True
idr = MyRead(0)
cognome_lui = MyRead(1)
nome_lui = MyRead(2)
nome_lei = MyRead(3)
equipe = MyRead(4)
fineM = MyRead(5)
fineA = MyRead(6)
If MyRead(5) >= Now.Month Or MyRead(5) < Now.Month And MyRead(6) > Now.Year Then
DataGridView1.Rows.Add(idr, cognome_lui, nome_lui, nome_lei, equipe)
Else
' MsgBox("mese non valido")
End If
Loop
---------------------------------------------------
non so quanto possa essere chiaro il codice, Però Funziona!!!!
Grazie mille a tutti alla prossima!!
Zito Piero
bobo-89@libero.it
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 !