Section(acHeader).BackColor = _ RGB(Rnd * 128, _ Rnd * 256, _ Rnd * 255) . Section(acDetail).BackColor = _ RGB(Rnd * 128, Rnd * 256, Rnd * 255) .Section(acFooter).BackColor = _ RGB(Rnd * 128, Rnd * 256, Rnd * 255) End With End Sub Przyk³ad 27 - Wypróbuj to sam: Otwórz w trybie Projektuj formularz Kate-[gorieProduktu, który sporz¹dzi³eœ w przyk³adzie 7. W³¹cz nag³ówek i stopkê, wybieraj¹c Widok => Nag³ówek/Stopka strony. Zwiêksz rozmiar tych sekcji, tak aby by³y [widoczne w czasie ogl¹dania formularza w trybie Widoku. W oknie Kod programu [wpisz pokaŸn¹ powy¿ej procedurê obs³ugi zdarzenia Szczegó³y_Dbiciick. Nastêpnie (uruchom formularz w trybie Widoku i kliknij dwukrotnie mysz¹ w sekcji Szczegó³y, jaby zmieniæ kolor t³a wszystkich sekcji formularza. Aby lepiej zapoznaæ siê z sekcjami dostêpnymi w formularzu, sprawdŸ zagadnienia w wbudowanej pomocy: 590 Programowanie w Access 20 |s? Microsoft Access - Pomoc g|OtX Sekcje formularza Efektywnoœæ formularza mo¿na zwiêkszyæ przez dodanie jednej lub kiiku sekcji. Wszystkie formularze maj¹ sekcjê szczegó³ów, ale mog¹ równie¿ zawieraæ sekc;e nag³ówka formularza, nag³ówka strony, stopki strony i stopki formularza. Widok projektu Nag³ówek formularza wyœwietla informacje jednakowe dla ka¿decjo rekordu takie, jak tytu³ formularza. Nag³ówek formularza pojawia siê u góry1 ekranu w widoku Formularz i u góry Nag³ówek strony wyœwietla pierwe) *""* podcza Northwind Traders informacje takie, jak tytu³ lub nag³ówki kolumn u góry ka¿dej drukowanej strony. Nag³ówki stron pojawiaj¹ siê tylko na wydrukowanych formularzach. Sekcja szczegó³ów wyœwietla rekordy. Mo¿esz wyœwietlaæ Jeden rekord na ekranie lub stronie lub wyœwietlaæ tyle, ile siê zmieœci. Stopka strony wyœwietla informacje takie, jak data lub numer strony na dole ka¿dej drukowanej strony. Stopki stronpojarwiaj¹ siê Vlko na wydrukowanych formularzach. Stopka formularza wyœwietla informacje jednakowe dla ka¿dego rekordu, takie jak przyciski poleceñ lub instrukcje u¿ywania formularza. Stopka fornularza pojawia siê na dole ekranu w widoku Formularz lub w wydruku po ostatniej sekcji szczegó³ów na ostatniej stronie. 12 3 Zdarzenia zachodz¹ce w raportach W trakcie wyœwietlania raportu zachodzi szereg zdarzeñ. Kolejne przyk³ady ue monstruj¹, w jaki sposób mo¿na kontrolowaæ to, co dzieje siê gdy raport zostaje otwarty, uaktywniony lub zamkniêty oraz gdy w danym raporcie nie ma rekordów d wyœwietlenia, albo te¿ rekordy bêd¹ce Ÿród³em danego raportu po prostu nie istniej¹. ) Programowanie zdarzeñ w formularzach i raportach 591 Przy otwarciu (Open) Opis zdarzenia Przyk³ad 28 Zdarzenie Przy Private Sub Report_Open(Cancel As Integer) otwarciu za- Dim strCustName As String chodzi w czasie Dim strSQL As String otwierania ra- Dim strWHERE As String portu. Skorzystaj On Error GoTo Obs³uga B³êdu z tego zdarzenia, strSQL = "SELECT * from Klienci" aby wyœwietliæ StrCustName = InputBox("Wpisz pierwsz¹ literê nazwy " & dodatkowe for- " firmy lub wpisz gwiazdkê (*), aby zobaczyæ" & mularze, w³asne " wszystkie firmy.", "Show All /Or Filter") paski narzêdzi If strCustName = "" Then lub zmieniæ Ÿró- Cancel = True d³o danych dla Elself strCustName = "*" Then danego raportu. Me.RecordSource = strSQL Me.lbiKiienci-Caption = "Wszystkie firmy" Else strCustName = & Trim(strCustName) & "*" & strWHERE = ." WHERE NazwaFirmy Like " & strCustName & "" Debug.Print strSQL Debug.Print strWHERE Me.RecordSource = strSQL & strWHERE Me.lbiKiienci.Caption = "Klienci na literê " & UCase(Mid(strCustName, 2, 1)) End If Exit Sub Obs³uga B³êdu: MsgBox Err.Description End Sub Przyk³ad 28 - Wypróbuj to sam: Sprz¹dŸ raport tabelaryczny na podstawie ta- 1 beli Klienci w bazie danych NWIND. Zachowaj ten raport pod nazw¹ rptKlienci. ■Zmieñ nazwê etykietki znajduj¹cej siê w nag³ówku raportu na lbiKiienci. W oknie Kod programu wpisz podan¹ powy¿ej procedurê obs³ugi zdarzenia Report_open. 1 Przy uruchomienii l tego raportu pojawi siê okno, w którym mo¿esz wpisaæ gwiazdkê I (*), aby zobaczyæ dane wszystkich klientów, lub wpisaæ pierwsz¹ literê firmy, ¿eby ■ograniczyæ liczbê wyœwietlonych w raporcie rekordów. Aby anulowaæ raport, kliknij Anuluj lub naciœnij Esc, gdy pojawi siê okno „prosz¹ce" o podanie danych. 592 Programowanie w Access 20Q Nazwa zdarzenia Przy zamkniêciu (Close) Opis zdarzenia Przyk³ad 29 Zdarzenie Przy zamkniêciu zachodzi w czasie zamykania raportu. Skorzystaj z tego zdarzenia, aby zamkn¹æ otwarte formularze lub w³asne paski narzêdzi, lub te¿ wykonaæ inne operacje organizacyjne. Tego zdarzenia nie mo¿na anulowaæ.
|