DAO Recordset

Recordset to właściwość DAO związana z zestawem rekordów.  

kliknij, aby powiększyć

Jest to jedna z najważniejszych obiektów do obsługi bazy danych z poziomu kodu VBA. 

Ma też swoje właściwości i metody:

WŁAŚCIWOŚCI

METODY

    • Close
      zamykanie zestawu rekordów

– sukcesywnie będą się tu pojawiać linki do wpisów poświęconych najczęściej stosowanym


kawa dla marzateli

A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

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

Minimalizacja okna

Minimalizacja formularza czyli schowanie go w oknie aplikacji Access jest możliwa za pomocą metody docmdMinimize

  • kliknij, aby powiększyć

    Po minimalizacji formularz nadal jest załadowany, może nawet być aktywny, ale jest „spuszczony na belkę”. 

Ja jakoś nie pamiętam, żebym kiedyś stosowała tę metodę. Choć w niektórych sytuacjach może się przydać. 


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