Ciao,
ho una form con un controllo a schede e in una scheda una subform, lo dico per dare qualche info in + ma non credo sposti la questione.
La subform viene associata in esecuzione ad un recordset adodb così
...
Set RS_Prest = New ADODB.Recordset
ID_PREST = 0
With RS_Prest
.Fields.Append "ID", adInteger
.Fields.Append "DATA_PREST", adDBDate
.Fields.Append "ID_PREST", adInteger
.Fields.Append "PRESTAZIONE", adVarChar, 255
.Fields.Append "QUANTITA", adDouble
.Fields.Append "NOTE_PREST", adVarChar, 4000, adFldMayBeNull
.Fields.Append "FLAG_ARCHIVIATA", adBoolean
.Open , , adOpenDynamic, adLockOptimistic
Set rsIn = DBEngine(0)(0).OpenRecordset(SQL, dbOpenDynaset, dbSeeChanges)
While Not rsIn.EOF
.AddNew
ID_PREST = ID_PREST + 1
.Fields("ID") = ID_PREST
.Fields("ID_PREST") = rsIn.Fields("ID_PRESTAZIONE")
.Fields("PRESTAZIONE") = rsIn.Fields("DES_PRESTAZIONE")
.Fields("DATA_PREST") = rsIn.Fields("DATA_PREST")
.Fields("QUANTITA") = rsIn.Fields("QUANTITA")
.Fields("NOTE_PREST") = rsIn.Fields("NOTE_PREST")
.Fields("FLAG_ARCHIVIATA") = rsIn.Fields("FLAG_ARCHIVIATA")
.Update
rsIn.MoveNext
Wend
rsIn.Close
Set rsIn = Nothing
End With
RS_Prest.Filter = "FLAG_ARCHIVIATA=False"
RS_Prest.Sort = "DATA_PREST DESC, PRESTAZIONE"
Set Me.SUB_PREST.Form.Recordset = RS_Prest
supponiamo che io me ne aspetti 150, così facendo invece mi taglia i record a 100
la cosa per me curiosa è che se escludo la riga del FILTER
' ----> commentata ----> RS_Prest.Filter = "FLAG_ARCHIVIATA=False"
RS_Prest.Sort = "DATA_PREST DESC, PRESTAZIONE"
Set Me.SUB_PREST.Form.Recordset = RS_Prest
il limite dei 100 viene superato.
Viene superato anche se lascio il FILTER e aggiungo il ".clone" nell'ultima istruzione
RS_Prest.Filter = "FLAG_ARCHIVIATA=False"
RS_Prest.Sort = "DATA_PREST DESC, PRESTAZIONE"
Set Me.SUB_PREST.Form.Recordset = RS_Prest.Clone
non vi sembra strano? C'è una spiegazione?