Metoda Recordset.MovePrevious

MovePrevious to metoda obiektu Recordset powodująca przejście do poprzedniego rekordu. 

kliknij, aby powiększyć

Działa identycznie jak przejście do następnego rekordu, ale w przeciwnym kierunku. 

Może być przydatna, choć jakoś nie pamiętam, abym kiedyś ją używała. 


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Metoda Recordset.MoveNext

MoveNext to metoda obiektu Recordset powodująca przejście do następnego rekordu. 

kliknij, aby powiększyć

Metoda ta jest wykorzystywana do przechodzenia do kolejnych rekordów, najczęściej w pętli.  
Np.

Private Sub PrzejdzDoNastepnego()
Dim RST As ADODB.Recordset
Set RST = New ADODB.Recordset
If Not .EOF Then .MoveFirst
While Not .EOF
'(…)
If Not .EOF Then .MoveNext
Wend
.Close
End With
Set RST = Nothing
End Sub

Po dojściu do ostatniego rekordu Recordset, metoda MoveNext nie wywoła błędu, ale już próba odczytu kolejnych pól po takim przejściu wywoła błąd 3021


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Metoda Recordset.MoveLast

MoveLast to metoda obiektu Recordset powodująca przejście do ostatniego rekordu. 

kliknij, aby powiększyć

Działa identycznie jak przejście do pierwszego rekordu.

Może być przydatna, choć jakoś nie pamiętam, abym kiedyś ją używała. 


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Metoda Recordset.MoveFirst

MoveFirst to metoda obiektu Recordset powodująca przejście do pierwszego rekordu. 

kliknij, aby powiększyć

Metoda ta jest wykorzystywana najczęściej po otwarciu zestawu Recordset. Jeżeli ma on rekordy (czyli właściwość Eof ma wartość False) – przechodzimy do pierwszego rekordu, chcąc mieć pewność, że żaden rekord nie zostanie pominięty.  
Np.

Private Sub PrzejdzDoPierwszego()
Dim RST As ADODB.Recordset
Set RST = New ADODB.Recordset
RST.Open „TabelaKsiazki”, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
With RST
If Not .EOF Then .MoveFirst

’ (…)

.Close
End With
Set RST = Nothing
DoCmd.Close
End Sub

 


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Właściwość Recordset.EOF

EOF to własciwość obiektu Recordset określająca koniec zestawu rekordów. 

kliknij, aby powiększyć

Jeżeli bieżąca pozycja kursora jest za ostatnim rekordem zestawu lub Recordset nie zawiera żadnych rekordów, właściwość EOF zwraca wartość True
W pozostałych przypadkach, EOF przyjmuje wartość False.

Właściwość EOF jest wykorzystywana najczęściej do sprawdzenia, czy możliwe jest przejście do następnego rekordu. 
Np.

Private Sub Koniec_Click()
Dim RST As ADODB.Recordset
Set RST = New ADODB.Recordset
RST.Open „TabelaKsiazki”, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
With RST
If Not .EOF Then .MoveFirst
While Not .EOF
’ (…)

If Not .EOF Then .MoveNext

Wend
.Close
End With
Set RST = Nothing
DoCmd.Close
End Sub

W tym przykładzie przejście do kolejnego rekordu następuje tylko wtedy, gdy właściwość EOF ma wartość False


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Właściwość Recordset.BOF

BOF to własciwość obiektu Recordset określająca początek zestawu rekordów. 

kliknij, aby powiększyć

Jeżeli bieżąca pozycja kursora jest przed pierwszym rekordem właściwość BOF zwraca wartość True
W pozostałych przypadkach, również w przypadku, gdy Recordset nie zawiera żadnych rekordów, BOF przyjmuje wartość False.

Właściwość BOF jest wykorzystywana najczęściej do sprawdzenia, czy Recordset ma rekordy. 
Np.

Private Sub PolecenieOtwórz()
Dim RST As ADODB.Recordset
Set RST = New ADODB.Recordset
RST.Open „TabelaKsiazki”, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
With RST
  If .BOF Then
     ’ (…)
  End If
.Close
End With
Set RST = Nothing
DoCmd.Close
End Sub

W tym przykładzie wejście do przechodzenia przez poszczególne rekordy następuje tylko wtedy, gdy właściwość BOF ma wartość True


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Metoda Recordset.Close

Close to metoda obiektu Recordset zamykająca otwarty Recordset. 

kliknij, aby powiększyć

Metoda ta nie ma żadnych parametrów i jest właściwie oczywista – każdy otwarty obiekt powinien być finalnie zamknięty. 
Ja standardowo po linii kodu zamykającej Recordset, zwalniam pamięć. Teoretycznie nie jest to wymagane, ale praktyka wskazuje, że warto zrobić. 

Private Sub PolecenieZapisz_Click()
Dim RST As ADODB.Recordset
(…) 
 RST.Close
Set RST = Nothing
End Sub

 


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela