grazie x il tips Gibra, infatti stavo lavorando ad una cosa del genere, con la tua stringa ricevo un errore di sistassi su rsTmp.Open sql (errore di runtime bla bla ....forse sbaglio io).
codice:
Private Sub Command1_Click()
' salva record
Call connettiTmp
mydal = Format(CDate(Txtfield(1).Text), "mm/dd/yyyy")
myal = Format(CDate(Txtfield(2).Text), "mm/dd/yyyy")
''' x test
'mydal = Format(CDate(Txtfield(1).Text), "yyyy/mm/dd")
'myal = Format(CDate(Txtfield(2).Text), "yyyy/mm/dd")
'sql = "select * FROM tabella1 where (dal between '" & mydal & "' and '" & myal & "')"
'sql = "select * FROM tabella1 where (dal between #" & mydal & "# and #" & myal & "#)"
'sql = "select * FROM tabella1 where (dal>=#" & mydal & "# and dal<=#" & myal & "#)"
'sql = "SELECT COUNT(*) AS Quanti From Tabella1 WHERE" & _
"(dal BETWEEN #" & mydal & "# AND #" & myal & "#) AND " & _
"(al BETWEEN #" & mydal & "# AND #" & myal & "#)"""
sql = "SELECT * From tabella1 WHERE" _
& "(dal BETWEEN #" & mydal & "# AND #" & myal & "#) AND " _
& "(al BETWEEN #" & mydal & "# AND #" & myal & "#)"""
Debug.Print sql
If rsTmp.State = 1 Then rsTmp.Close
rsTmp.Open sql
' datagrid2 solo x il debug
Set DataGrid2.DataSource = rsTmp
If rsTmp.RecordCount = 0 Then
' aggiungi record
With rs
.AddNew
.Fields!nome = Txtfield(0).Text
.Fields!dal = Txtfield(1).Text
.Fields!al = Txtfield(2).Text
.Update
End With
Else
MsgBox "periodo non valido", vbCritical
End If
rsTmp.Close
CnTmp.Close
Set rsTmp = Nothing
Set CnTmp = Nothing
End Sub
diciamo che con questa stringa sembra ke funzioni e non a volte popola in modo corretto altre volte no.
codice:
'sql = "select * FROM tabella1 where (dal between #" & mydal & "# and #" & myal & "#)"
esempio, nel db ho un record dal 09/02/2011 al 13/02/2011, se inserisco sul form
dal 10/02/2011 al 13/02/2011 mi da rsTmp.RecordCount=0 invece di 1 .. pkkè
Avete qualke dritta ?
grazie a tutti.