X


Historia wymaga pasterzy, nie rzeźników.

4.F. Dodawanie do tabeli unikatowego indeksu opartego na dwóch polach
Private Sub cmdDodajUnikatowyIndeks_Click() Dim mojaDB As DAO.Database Set mojaDB = CurrentDb
mojaDB.Execute "ALTER TABLE tblSzko³y "
& "ADD CONSTRAINT indeks UNIQUE(IdentSzko³y, Rejon);" mojaDB.Close End Sub
Po uruchomieniu procedury w przyk³adach 4.4.E oraz 4.4.F tabela tbiszko³y zawiera dwa indeksy przedstawione poni¿ej:
 
1 f Indeksy: tblSzko³y
Nazwa indeksu
| Nazwa pola Porz¹dek sortowania -*.]
jffHB
: IdentSzko³y
Rosn¹co """"!
: Rejon
Rosn¹co
primKlucz
IdentSzko³y
Rosn¹co

W³aœciwoœci indeksu
Podstawowy Nie Unikatowy Tak Ignoruj zerowe Nie
 
 
Nazwa tego indeksu, Ka¿dy indeks mo¿e u¿yæ maksymalnie 10 pól,
Usuwanie kolumny wchodz¹cej w sk³ad indeksu
Aby usun¹æ kolumnê, która wchodzi w sk³ad indeksu, wykonaj nastêpuj¹ce czynnoœci:
Zastosuj klauzulê drop constraint, aby usun¹æ indeks. Pamiêtaj, ¿eby podaænazwê indeksu, który chcesz usun¹æ.
Zastosuj klauzulê drop column, aby usun¹æ okreœlon¹ kolumnê tabeli. Musiszprzy tym podaæ nazwê kolumny (pola), które chcesz usun¹æ z tabeli.
Obie klauzule nale¿y zastosowaæ w poleceniu alter table. Nastêpuj¹ca proce­dura usuwa kolumnê o nazwie Rejon z tabeli tblSzko³y. Dla przypomnienia, proce-
532
Programowanie w Access 2(
dura w przyk³adzie 4.4.F wczeœniej w tym rozdziale doda³a indeks z³o¿ony oparty
dwóch polach: IdentSzko³y oraz Rejon.
Przyk³ad 4.4.G. Usuwanie pola bêd¹cego czêœci¹ indeksu
Private Sub cmdUsuwaniePolaZIndeksu_Click() Dim mojaDB As DAO.Database Set mojaDB = CurrentDb
With mojaDB
.Execute "ALTER TABLE tblSzko³y DROP CONSTRAINT indeks; .Execute "ALTER TABLE tblSzko³y DROP COLUMN Rejon;" .Close End With End Sub
Usuwanie indeksu
Zastosuj klauzulê drop constraint, aby usun¹æ indeks. Nale¿y przy tym podaæ nazwê indeksu. Nastêpuj¹ca procedura usuwa klucz podstawowy z tabeli tblSzko³y
Przyk³ad 4.4.H. Usuwanie indeksu
Private Sub cmdUsuwanieKlucza_Click() Dim mojaDB As DAO.Database Set mojaDB = CurrentDb
mojaDB.Execute "ALTER TABLE tblSzko³y DROP CONSTRAINT primKlucz; mojaDB.Close End Sub
Po uruchomieniu procedur w przyk³adach 4.4.G oraz 4.4.H okno Indeksy uru­chomione z tabeli tblSzko³y powinno byæ puste.
Ustawianie wartoœci wyjœciowej dla okreœlonego pola w tabeli
Je¿eli podasz wartoœæ wyjœciow¹ dla danego pola tabeli, to za ka¿dym raze¹ gdy nowy rekord jest dodany do tabeli, wartoœæ wyjœciowa pojawi siê w tym polu, poi
Programowanie przy u¿yciu jêzyka DDL
533
warunkiem ¿e u¿ytkownik nie wpisa³ innej wartoœci. Korzystaj¹c z jêzyka DDL, mo­¿esz ustaliæ wartoœæ pocz¹tkow¹ dla danego (istniej¹cego ju¿) pola tabeli przy u¿yciu klauzuli set default. Sk³adnia wygl¹da nastêpuj¹co:
ALTER TABLE nazwaTabeli ALTER [COLUMN] nazwaPola SET DEFAULT war-toœæPocz¹tkowa;
Zwróæ uwagê, ¿e w powy¿szym zapisie czêœæ polecenia obiêta nawiasem kwa­dratowym [COLUMN] jest opcjonalna.
Przyk³ad 4.4.1. Ustawianie wartoœci pocz¹tkowej dla pola tabeli
Private Sub cmdUstawDefault_Click() Dim con As ADODB.Connection Dim sql As String
Set con = CurrentProject.Connection
sql = "ALTER TABLE tblSzkoly ALTER Miasto SET DEFAULT Lublin" With con
.Execute sql .Close End With
Set con = Nothing End Sub
Po uruchomieniu procedury w przyk³adzie 4.4.1 wyjœciow¹ wartoœci¹ w polu
Miasto jest Lublin:
534
Programowanie w Access |
tblSzkoly; Tabela
Nazwa pola
Ident5zko³y NazwaSzko³y Miasto „ RokZa³o¿enia
Typ danych
Tekst
I Tekst Tekst' Data/Godzina
Opis
W³aœciwoœci pola
 
25
Ogólne Odnoœnik Rozmiar pola Format
Lublinl
Maska wprowadzania Tytu³
Nie
Wartoœæ domyœlnaRegu³a poprawnoœciKomunikat o b³êdzieWymaganeZerowa d³ugoœæ dozwolon. NieIndeksowane Nie
Kompresja Unicode Nie
Modyfikacja wartoœci pocz¹tkowej oraz wielkoœci przyrostu dla pola identyfikacyjnego
Kiedy tabela zawiera pole identyfikacyjne o typie danych Autonumerowame, mo¿na ustawiæ wartoœæ pocz¹tkow¹ (seed) oraz wielkoœæ przyrostu (increment) dla teso pola Seed jest pocz¹tkow¹ wartoœci¹ w danym polu, a increment jest liczb¹ do­dan¹ do wartoœci pocz¹tkowej (seed) w celu uzyskania nowej wartoœæ, dla nastêpnego rekordu Je¿eli pominiesz te dane, to wartoœæ pocz¹tkowa oraz wielkoœæ przyrostu be.-d¹ automatycznie równe 1. Korzystaj¹c z jêzyka DDL, mo¿esz zmieniæ wartoœæ po­cz¹tkow¹ oraz wielkoœæ przyrostu dla pola z typem danych Autonumerowame przy u¿yciu nastêpuj¹cych poleceñ:
ALTER TABLE NazwaTabeli ALTER COLUMN NazwaPola AUTOINCREMENT (seed, increment)
albo
ALTER TABLE NazwaTabeli ALTER COLUMN NazwaPolc. COUNTER (seed, increment)
I Programowanie przy u¿yciu jêzyka DDL
535
albo
ALTER TABLE NazwaTabeli ALTER COLUMN NazwaPola IDENTITY (seed, increment)
Procedura w przyk³adzie 4.4.J zmienia wartoœæ pocz¹tkow¹ pola idpracownika w tabeli Pracownicy na 1,000.
Przyk³ad 4.4.J. Zmiana wartoœci pocz¹tkowej pola identyfikacyjnego

Podstrony

Drogi uĹźytkowniku!

W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

 Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerĂłw w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

 Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerĂłw w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.