Anche io non gli avevo dato mai tanta importanza, ma è molto utile capire a cosa servono... guarda te li elenco:
Il Cursor Type indica COME puoi muoverti all'interno del recordset.
0: ForwardOnly - Specifica che puoi andare solamente avanti, cioè puoi usare solo rs.MoveNext e non rs.MovePrevious ad esempio. Con un cursore forward only hai delle restrizioni, come hai potuto notare rs.RecordCount non funziona, in più non puoi usare la paginazione (comando rs.AbsolutePage e così via). Sappi comuque che se devi fare azioni elementari sul recordset (spostarti solo in avanti) è questo il cursore da preferire perchè è il più veloce come esecuzione
1: keyset - Questo non è supportato da access, ma è quello più completo, ti sposti avanti, indietro, usi la paginazione, il più completo insomma.
2: Dynamic - Questo è come il precedente solo che è supportato da access. Dammi retta, non usarli mai l'1 e il 2, sono lenti (in termini di millisecondi...).
3: Static - è la via di mezzo che concilia tutti. Questo è abbastanza veloce, puoi usare la paginazione, muoverti avanti e indietro ed usare recordcount.
Il LOCK TYPE invece indica come deve essere aperto il db:
1: Readonly - apre il database in sola lettura. E' quello da preferire quando devi solamente leggere il database
2: Pessimistic - apre il database sia in lettura che in scrittura. "Pessimistic" indica che il database non è accessibile da altri utenti quando anche uno solo di loro sta facendo delle modifiche. Questo non lo usare mai... tanto i database supportano diverse connessioni contemporanee, per cui se due utenti salvano allo stesso momento non succede niente.
3- Optimistic - apre in lettura e scrittura, soltanto che al momento del salvataggio viene bloccato solamente il record interessato e non tutti gli altri.
4- Batch Optimistic - in lettura e scrittura, adatto se devi aggiornare molti record... io non l'ho mai usato. boh
--------
CURSOR LOCATION
invece indica dove si deve posizionare il cursore all'apertura del recordset. Esempio: il rs è composto da 45 record... se non specifichi il cursor location, il record "selezionato" è il primo, cioè prima di incappare in rs.EOF dovrai fare rs.Movenext 45 volte.
Se specifichi cursorlocation = 35, all'apertura del recordset ti troverai già al record 35, per cui se fai rs.Movenext 10 volte, già ti troverai alla fine del recordset
-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------
Enjoy learning and just keep making