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).
diciamo che con questa stringa sembra ke funzioni e non a volte popola in modo corretto altre volte no.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
esempio, nel db ho un record dal 09/02/2011 al 13/02/2011, se inserisco sul formcodice:'sql = "select * FROM tabella1 where (dal between #" & mydal & "# and #" & myal & "#)"
dal 10/02/2011 al 13/02/2011 mi da rsTmp.RecordCount=0 invece di 1 .. pkkè![]()
Avete qualke dritta ?
grazie a tutti.

Rispondi quotando