Każdy jest innym i nikt sobą samym.

Field Dim sumaRec As Integer Dim nty As String
dbOpenSnapshot)
Set rst = CurrentDb.OpenRecordset("tblKlienci rst.MoveLast
sumaRec = rst.RecordCount rst.MoveFirst
& vbCrLf
nty = InputBox("Wpisz liczbê, o któr¹ chcesz & "przesun¹æ kursor do przodu:") If sumaRec > nty Then rst.Move nty For Each fid In rst.Fields
& fid.Value
Debug.Print fid.Name & " Next fid Else
MsgBox "Trzeba wpisaæ wartoœæ mniejsz¹ od
& sumaRec & "." End If rst.Close End Sub
Praca z rekordami
Teraz, gdy pozna³eœ metody przesuwania siê w zestawie rekordów, wyszukiwa­nia rekordów oraz odczytywania ich zawartoœci, czas poznaæ metody, które pozwalaj¹ na dodawanie i modyfikowanie zestawów rekordów typu Table lub Dynaset. Ponie­wa¿ zestawy rekordów typu snapshot s¹ statyczne, nie mo¿na do nich dodaæ nowych rekordów ani zmieniæ lub usun¹æ istniej¹cych.
Dodawanie nowych rekordów
W interfejsie u¿ytkownika w aplikacji Microsoft Access, przed dodaniem nowe­go rekordu do tabeli nale¿y najpierw otworzyæ odpowiedni¹ tabelê. Programuj¹c t¹ sam¹ czynnoœæ, wystarczy otworzyæ obiekt Recordset korzystaj¹c z metody openRe-cordset. Na przyk³ad nastêpuj¹ce polecenia deklaruj¹ i otwieraj¹ obiekt Recordset woparciu o tabelê o nazwie tblKiienci2:
Dim tblRst As DAO.Recordset
Set tblRst = db.OpenRecordset ("tblKlienci2")
300
Programowanie w Access
BH frmDAO PrzykS: Formularz
Odszukaj/Przeczyta) rekordy Manipulowanie rekordami i
Dodaj nowy rekord
Praca
z rekordami
Filtrowanie rekordów przy u¿yciu klauzuli SQL WHERE
1771 Filtrowanie rekordów 1 - | przy u¿yciu w³aœciwoœci Filter
 
Usuñ rekord
Praca z rekordami w formularzu przy u¿y;iu w³aœciwoœci RecordSetCIone
 
Zapisz wartoœci pól w zmiennych
Zapisywanie rekordów w tablicy
Kopiowanie rekordów do arkusza
1 1185 Plus Sp, z o.o. B
1 I7L57 Reklama Sp ; .. o B
:; '.Vi'S.i Sport r.r : o ■ B
4 Maksel Wytwórnia G ilanterii B
Rysunek 2.21. Manipulowanie rekordami przy u¿yciu DAC)
Po otwarciu obiektu Recordset skorzystaj z metody AddNew, aby utworzyæi rekord. Na przyk³ad:
tblRst.AddNew
Nastêpnie mo¿na podaæ wartoœci wszystkich lub tylko niektórych pól w noi rekordzie. Podanie wartoœci w danym polu jest konieczne, gdy w³aœciwoœæ (Required) tego pola jest ustawiona na Tak. Je¿eli wpis w danym polu jest wyn to w interfejsie u¿ytkownika w trybie Pro j ektuj tabelê bêdzie wpis Tak (Yes)o w³aœciwoœci wymagane (Required). Oto kilka przyk³adów przypisuj¹cych wartoœci] pól danego rekordu:
tblRst.Fields("NazwaKlienta").Value = "Gosh, Regina" tblRst.FieldsC'TypKlienta").Value = "I"
Zwróæ uwagê na to, ¿e value jest w³aœciwoœci¹ domyœln¹ obiektu Field, \ tego mo¿na j¹ pomin¹æ co te¿ uczyniono w kodzie przyk³adowej procedury (d
300
Programowanie w Ac
SU frmDAO PrzykS: Formularz
Odszukaj/Przeczytaj rekordy Manipulowanie rekordami
Dodaj nowy rekord
!!J U Qe k o rdj
Praca
z rekordami
Filtrowanie rekordów przy u¿yciu klauzuli SQLWHEF
Filtrowanie rekordów przy u¿yciu w³aœciwoœci Fil
 
Usuñ rekord
0
Praca z rekordami w formularzu przy u¿yciu w³aœciwoœci RecordSetCI
Kopiowanie rekordów do arkusza
Zapisz wartoœci pól w zmiennych
Zapisywanie rekordów w tablicy
! 1135 Phis Sp zot B
2 1787 Reklama Sp. z o.o. B
i JO/l'Li Sport Sp z o u B
4 Maksel Wytwórni¹ Galanterii B
Rysunek 2.21. Manipulowanie rekordami przy u¿yciu DAO
Po otwarciu obiektu Recordset skorzj'staj z metody AddNew, aby urwo rekord. Na przyk³ad:
tblRst.AddNew
Nastêpnie mo¿na podaæ wartoœci wszystkich lub tylko niektórych pól rekordzie. Podanie wartoœci w danym polu jest konieczne, gdy w³aœciwoœæ (Required) tego pola jest ustawiona na Tak. Je¿eli wpis w danym polu jest to w interfejsie u¿ytkownika w trybie Projektuj tabelê bêdzie wpis Tak i w³aœciwoœci wymagane (Required). Oto kilka przyk³adów przypisuj¹cych w pól danego rekordu:
tblRst.Fields("NazwaKlienta").Value = "Gosh, Regina"
tblRst.Fields("TypKlienta").Value = "I"
i
Zwróæ uwagê na to, ¿e value jest w³aœciwoœci¹ domyœln¹ obiektu Fi tego mo¿na j¹ pomin¹æ co te¿ uczyniono w kodzie przyk³adowej proc<
Manipulowanie bazami danych przy u¿yciu DAO
2.21.A). Po przypisaniu wartoœci polom, nale¿y skorzystaæ z metody updat
obiektu Recordset, aby zachowaæ w pamiêci nowo dodany rekord:
Przyk³ad 2.21.A pokazuje, wjaki sposób mo¿na dodaæ nowy rekord do tabeli tbl-Klienci2 i wype³niæ niektóre pola tej tabeli wartoœciami.
Przyk³ad 2.21.A. Dodawanie nowego rekordu do istniej¹cej tabeli
Private Sub cmdDodajNowyRekord_Click() Dim db As DAO.Database Dim tblRst As DAO.Recordset
Set db = CurrentDb
Set tblRst = db.OpenRecordset("tblKlienci2")
With tblRst .AddNew
.Fields("NazwaKlienta") = "Gosh, Regina" .Fields("TypKlienta") = "I" .Fields("KlientOdRoku") = "1999" .Fields("DataWpisu") = Now() .Fields("IdWpisu") = "JO" .Fields("DataModyfikacji") = Now() .Fields("IDModyfikacji") = "JO" .Update End With
MsgBox tblRst.Fields(1).Value tblRst.Bookmark = tblRst.LastModified MsgBox tblRst.Fields(1).Value tblRst.Close End Sub