Metoda Recordset.Open

Open to jedna z metod obiektu Recordset . Służy do utworzenia zestawu rekordów do wykorzystania w kolejnych krokach kodu VBA.

kliknij, aby powiększyć

Argumenty wejściowe to:

    • Source
      źródło danych rekordów,
      najczęściej jest to tabela lub kwerenda;
    • ActiveConnection
      aktywne połączenie,
      odwołanie do miejsca, gdzie znajduje się źródło danych. Jeżeli odwołujemy się do bieżącej bazy danych – stosuje się tu
      CurrentProject.Connection
    • CursorType
      typ kursora:

        • adOpenDynamic
          kursor dynamiczny, na bieżąco odzwierciedla wszystkie zmiany dokonane przez innych użytkowników.
        • adOpenForwardOnly
          kursor statyczny, nie odzwierciedla zmian dokonanych przez innych użytkowników, umożliwia przewijanie zestawu rekordów tylko do przodu.
          Wartość domyślna.
        • adOpenKeyset
          podobny do kursora dynamicznego, na bieżąco odzwierciedla wszystkie zmiany dokonane przez innych użytkowników, ale nie dostrzega dodanych przez nich rekordów.
        • adOpenStatic
          kursor statyczny, nie widzi zmian dokonanych przez innych użytkowników
    • LockType
      typ blokady podczas edycji rekordów:

        • adLockBatchOptimistic
          blokada dla aktualizacji wsadowych
        • adLockOptimistic
          rekordy są blokowane tylko podczas zapisywania zmian
        • adLockPessimistic
          rekordy są blokowane od razu po rozpoczęciu edycji
        • adLockReadOnly
          rekordy w zestawie są pobierane tylko do odcytu, nie można ich edytować
    • Options
      stosowane tylko, gdy źródło danych jest pobierane komendą Command 

Przykład takiej procedury:

Public Sub OdczytRST()
Dim RST As ADODB.Recordset
Dim RTytul As String
Dim RAutor As String
Set RST = New ADODB.Recordset
RST.Open „TabelaKsiazki”, CurrentProject.Connection, adOpenDynamic, adLockReadOnly
While Not RST.EOF
  RTytul = RST!Tytul
  RAutor = RST!Autor
     '(…)
     'kod wykorzytsujące odczytane wartości
     '(…)
  If Not RST.EOF Then RST.MoveNext
Wend
RST.Close
Set RST = Nothing
End Sub

W tym przypadku – otwierany jest Recordset z tabeli SpisKsiazek, a następnie w pętli odczytywane są wartości 2 kolumn każdego rekordu, które mogą być  wykorzystane w dalszej części. 
Na końcu – Recordset jest zamykany (warto o tym pamiętać). Wejście do pętli jest tylko wtedy, gdy są rekordy. Pozwala to na zabezpieczenie przed błędem 3021


A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *