Tải bản đầy đủ (.doc) (33 trang)

Tự học lập trình Access

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (222.19 KB, 33 trang )

MICROSOFT ACCESS
MỞ ĐẦU
Microsoft Access là một hệ quản trị dữ liệu (Database Managenment
System) giúp ta quản lý, bảo trì và khai thác dữ liệu được lưu trữ bên trong một
cách có hệ thống.
So với những phần mềm đóng vai trò quản lý Cơ sở dữ liệu như Dbase,
FoxPro,... thì Access đa dạng và phong phú hơn, tân kỳ hơn dưới dạng Windows,
xử lý dữ liệu và in ấn ra bằng những giao diện đồ họa theo yêu cầu, văn bản thực.
Với ý niệm quản lý Cơ sở dữ liệu, một số khái niệm cơ bản cần hiểu như
sau:
1. TABLE (BẢNG):
Table là một thành phần cơ bản nhất của một Cơ sở dữ liệu, và đây cũng là
một thành phần không thể thiếu.
Trong Table, dữ liệu được lưu trữ dưới dạng record, có cấu trúc rõ ràng.
2. QUERY (TRUY VẤN):
Query là công cụ chuyên dụng trong việc truy vấn và xử lý thông tin trên
Cơ sở dữ liệu. Ngoài ra, nó còn dùng trong việc tạo ra các báo biểu dùng xuất ra
máy in có tính định dạng cao hơn Table.
3. FORM (MẪU BIỂU):
Giúp “thân thiện hóa” thao tác nhập dữ liệu, giúp người sử dụng có cảm
giác như đang ghi điền vào các mẫu phiếu quen thuộc. Trong Form có thể có chứa
nhiều Form khác (SubForm) cho phép nhập dữ liệu và nhiều Table khác nhau.
4. REPORTS (BÁO BIỂU):
Dùng trong việc in ấn các báo biểu dưới nhiều hình thức, phong phú và đa
dạng, đẹp mắt, đồng thời đây là một cách hiển thị kết quả xử lý của Query.
5. MACRO:
Trong khi sử dụng chương trình, có một số thao tác được lập lại nhiều lần
dễ làm cho người sử dụng nhàm chán, để tránh tình trạng này, Microsoft Access
cho phép tổ chức ra các Macro. Đây là tập hợp các lệnh tự động hóa các thao tác
cần lập lại nhiều lần. Khi chạy Macro, Microsoft Access sẽ thực hiện một loạt các
thao tác đã được định sẵn.


6. MODULE:
Module là một dạng tự động hóa cao cấp hơn Macro viết bằng ngôn ngữ
lập trình VisualBasic, dùng thảo chương các lệnh hay yêu cầu phức tạp mà Macro
không đáp ứng được.
PHẦN THỨ NHẤT
TABLE
1.1. Tạo mới:
Trong ngăn Table, chọn New:
Xuất hiện New Table với các thỉnh ý sau:
- Datasheet View: mở Table dưới dạng Datasheet dùng nhập thẳng dữ liệu
vào bảng.
- Design View: mở ra khung Design cho ta thiết kế.
- Table Wizard: tạo bảng dưới sự hướng dẫn của Microsoft Access.
- Import Table: nhập một bảng từ DataBase khác về.
- Link Table: phần này xin trình bày trong phần Cơ sở dữ liệu đa người
dùng.
1.2. Table và DataType.
1.2.1. FieldName là tên một trường trong bảng, tên có thể dài 64 ký tự và có
thể có khoảng trắng nhưng không có dấu chấm câu. Nên đặt tên ngắn gọn, gợi nhớ
để dễ dàng truy xuất dữ liệu khi thảo chương trình.
1.2.2. DataType:
Mỗi Field đều có một DataType (kiểu dữ liệu) nhất định. Các kiểu dữ liệu
thường dùng như sau:
- Text: chứa các ký tự và ký số, tổng chiều dài là 255 bytes, mặc định của
Microsoft Access trường Text có độ rộng là 50 bytes.
- Memo: trường Memo có thể chứa đựng một văn bản dài 32 MB.
- Number: chứa các giá trị kiểu số.
- Date/Time: chứa giá trị ngày giờ.
- Currency: chứa giá trị tiền tệ theo đồng Dollar ($).
- Counter: chứa các giá trị số tự động do Microsoft Access gán vào và

không đổi được.
- Yes/No: chứa giá trị luân lý.
- OLE Object: đối tượng nhúng.
1.2.3. Decription: Ghi chú giải cho Field.
1.2.4. FieldPropeties:
- Field Size: độ rộng của dữ liệu, đơn vị tính bằng Byte, chú ý rằng một số
Font Tiếng Việt có độ rộng 2 bytes đối với chữ có dấu.
- Format: các hiển thị dữ liệu trên màn hình.
- Input Mask: quy định mẫu nhập liệu.
- Caption: Một cách diễn đạt khác cho Field.
- Default Value: cho phép gán giá trị ngầm định.
- Validation Rule: biểu thức kiểm chính dữ liệu nhập.
- Validation Text: thông báo biểu thức nhập không thỏa Validation Rule.
- Required: chọn Yes nếu bắt buộc phải nhập dữ liệu vào Field này.
- Allows Zero Lenght: chọn Yes nếu chấp nhận giá trị rỗng.
- Index: lập chỉ mục:
No : Không lập chỉ mục.
Yes Duplicate OK : Có lập và cho phép trùng.
Yes No Duplicate : Có lập, không cho phép trùng.
1.3. PrimaryKey
Một Table bắt buộc phải chọn một chỉ tiêu nào đó làm khóa chính, nếu
không chọn khóa, Access sẽ tự động chèn vào thêm một Field có kiểu Counter và
đặt tên là RecID làm khóa.
Vậy, sau khi thiết kế xong, ta gắp biểu tượng chìa khóa trên thanh công cụ
bỏ vào bên trái field dự định chọn làm khóa, hoặc có thể chọn field dự định làm
khóa, sau đó vào Menu Edit, chọn PrimaryKey để lập khóa cho Table.
Sau cùng, khi đóng cưả sổ Design, chương trình yêu cầu lưu trữ lại Table
này.
1.4. Các thao tác cơ bản:
1.4.1. Nhập liệu:

Chọn Table, nhấn Enter hoặc bấm Open.
Table được mở ra dưới dạng Datasheet với số cột đúng bằng số field đã
thiết kế. Nhập liệu bình thuờng giống như các phần mềm khác. Riêng trường có
DataType là kiểu Yes/No ta nhập một trong hai giá trị 0 hoặc -1.
Ta có thể thay đổi bề rộng cột bằng cách rà Mouse trên mép phải
FieldName nhấn và kéo.
1.4.2. Hiệu đính:
Ta có thể hiệu đính lại một Table đã thiết kế bằng cách mở lại Table dưới
dạng Design. Mục đích của việc hiệu đính là thiết kế lại theo ý muốn:
- Sửa lại thuộc tính của Field.
- Chèn hoặc xóa Field.
- Hoặc thực hiện các thao tác chỉnh sửa khác.
1.4.3. Một số quy định ký hiệu InputMask:
Ký hiệu Công dụng
0 Chỉ nhập ký số, bắt buộc phải nhập, không cho nhập dấu cộng hoặc dấu
trừ.
9 Chỉ nhập ký số, không bắt buộc phải nhập, cho nhập dấu cộng hoặc
dấu trừ.
# Chỉ nhập ký số hoặc khoảng trắng, không bắt buộc phải nhập, chấp
nhận cho nhập dấu cộng hoặc dấu trừ.
L Nhập ký tự hoặc ký số (bắt buộc)
A Nhập ký tự hoặc ký số (không bắt buộc)
& Ký tự bất kỳ hoặc khoảng trắng (bắt buộc)
C Ký tự bất kỳ hoặc khoảng trắng (không bắt buộc)
< Ký tự theo sau đổi ra chữ thường
> Ký tự theo sau đổi ra chữ hoa
! Điền từ phải qua trái
\ Ký tự theo sau coi như hằng, trị
Lưu ý rằng tất cả dữ liệu đều được lưu trữ trên Table.
PHẦN THỨ HAI

QUERY
Query là một công cụ khá đặc trưng của Microsoft Access, nó đáp ứng các
yêu cầu vè truy vấn số liệu trên hê quản trị Cơ sở dữ liệu dưới nhiều hình thức
phong phú. Muốn thực hiện được Query bắt buộc phải có Table, Query có thể thực
hiện thao tác trên nhiều Table khác nhau nhằm rút ra được báo biểu cần thiết kết
xuất ra máy in.
Mặt khác, với Query, người lập trình có thể tạo thêm một số trường tính
toán và rút trích số liệu một cách chính xác và nhuần nhuyễn.
Dữ liệu thì được lưu trữ trên Table, còn Query là một công cụ để tìm và
nhìn dữ liệu dưới nhiều góc độ khác nhau, khi nhìn số liệu qua Query, khi thực
hiện thao tác chỉnh sửa thì số liệu trên Table chọn làm Query cũng thay đổi theo.
Ngoài ra, Query còn là nguồn cung cấp số liệu cho Form, hay Reports, kể
cả cho một Query khác.
2.1. CÁC LOẠI QUERY:
2.1.1. Select Query:
Đây là loại Query chọn số liệu. Nó được sử dụng rất phổ biến, dùng để
chọn lựa các mẩu tin, tạo thêm các vùng tính toán (Calculate Field), và lấy số liệu
tóm lược.
Trong chừng mực nào đó, Select Query gần giống công cụ Filter trên
DataSheet:
- Vấn tin trên nhiều Table.
- Tạo thêm các vùng tính toán.
- Tóm lược và kết nhóm số liệu.
- Chọn các Field cần thể hiện hay che.
2.1.2. CrossTabQuery:
Query tham chiếu chéo. Kết nhóm theo chủng loại và hiển thị số liệu dưới
một hình thức của bảng tính kèm theo cộng ngang và cộng dọc.
Loại này rất thích hợp cho việc tạo số liệu cho Reports và đồ thị (Chart).
2.1.3. Make-Table-Query:
Query tạo Table từ một Dynaset. Được dùng vào việc tạo các Table dự

phòng (Bakup), rút trích các record từ một Table đuợc lưu trữ trước khi xóa các
record này ra khỏi Table hiện hành.
2.1.4. UpdateQuery:
Query cập nhật, dùng sửa đổi số liệu đồng loạt trên nhiều record của một
hay nhiều Table.
2.1.5. AppendQuery:
Loại Query này dùng kết nối dữ liệu từ các record từ một hay nhiều Table
vào cuối Table hiện hành.
2.1.6. Pass-ThroughQuery:
Query chuyển giao: dùng gửi lệnh trực tiếp đến hệ ngôn ngữ truy vấn SQL
(Structured Query Language) của Microsoft Access.
2.1.7. DataDefinitionQuery:
Query định nghĩa dữ kiện. Sử dụng các lệnh của ngôn ngữ SQL để tạo mới
hoặc sửa đối cấu trúc của Table.
2.2. CÁCH TẠO QUERY:
Có thể sử dụng Wizard của Microsoft Access, nhưng tốt nhất là tự thiết kế
bằng lưới QBE hoặc bằng ngôn ngữ SQL.
Bằng lưới QBE, ta chỉ cần nhắp kéo các trường cần xử lý vào trong khu
vực lưới sau đó thả ra.
Chọn NewQuery: Chú ý chọn Table nguồn làm căn cứ dữ liệu cho Query
tại thời điểm này, sau đó bấm Design ta vào được khung thiết kế.
Trong quá trình tạo thêm FieldCalculate chú ý cú pháp sau:
Tên_trường:Công_thức.
Mục đích chính của Query thiết kế ra dùng vào việc nhập liệu cho một
Table hay dùng kết xuất dữ liệu in ra giấy.
Đối với mục đích thứ hai, trong Query thường xuất hiện thêm các trường
tính toán xử lý dữ liệu (FieldCalculate).
Ví dụ: Để tính lương cho nhân viên, người ta lấy Hệ số (HESO) nhân với
ngày công (NGAY), nhưng mỗi ngày dư thì được tính gấp đôi, biết ngày công tiêu
chuẩn là 25, kết quả này được lưu vào trường LUONG:

LUONG:IIF([NGAY]>25,(25+([NGAY]-25)*2)*[HESO],
[NGAY]*[HESO])
Sau khi thiết kế xong thì Query được lưu trữ trong ngăn Query của
Database.
Khi muốn chạy Query, chọn Query, nhấp đôi hoặc bấm Open. Lưu ý rằng
Query không lưu trữ kết quả giống như Form, nó chỉ cung cấp dữ liệu phục vụ vào
việc kết xuất báo cáo ra văn bản hay dùng vào mục đích nhập liệu vào Table.
PHẦN THỨ BA
MẪU BIỂU FORMS
Forms là một công cụ sắc xảo trong việc nhập liệu, nó giúp con người có
cảm giác gần gũi khi làm việc trên máy tính.
Forms được thiết kế phải dựa trên một Table hay một Query nguồn, nguồn
của Forms được gọi là DataSource.
3.1. FORMDESIGN:
Giao diện FormDesign dùng cho việc thiết kế Forms.
Các thành phần trên Forms đều có thuộc tính riêng. Để tạo các thành phần
này bằng cách chọn biểu tượng trên thanh ToolBox sau đó nhấn và kéo trên Forms
. Sau khi tạo xong nó trở thành một Object tương tự như các Object trong các phần
mềm khác trên giao diện Windows, nó có tám điểm canh, nhờ đó ta có thể dễ dàng
dùng Mouse để thay đổi các kích thước của chúng, và có thể di chuyển chúng đến
vị trí thích hợp trên Forms.
3.2. CÁC THUỘC TÍNH CƠ BẢN CỦA FORMS:
3.2.1. RecordSource:
Một Forms bao giờ cũng nhập liệu hay truy xuất dữ liệu từ một Table hay
một Query. Khi khai báo Select Table/Query thì thuộc tính này lập tức được gán
vào thuộc tính này.
Tuy nhiên trong một số Forms có chức năng Bakup hay Logo thì không gán
thuộc tính này.
3.2.2. Caption:
Caption là dòng văn bản trên thanh tiêu đề của Forms. Thường dùng phần

văn bản này vào mục đích diễn giải mục đích làm việc của Form.
3.2.3. DefaultView:
Mục này quy định chế độ hiển thị của Forms, ta có thể cho Forms hiển thị
một số kiểu như sau:
- SingleForm: tại một thời điểm cho phép hiển thị duy nhất một mẩu tin.
- Continuous Forms: hiển thị nhiều mẩu tin tại cùng một thời điểm.
- Datasheet: thể hiện ở dạng Datasheet giống như giao diện của Table hay
Query.
Khi thiết kế Form, ta có thể chọn nhiều dạng:
- Single Column: mẫu dạng cột.
- Tabular: mẫu dạng bảng.
- Graph: mẫu đồ thị.
- Main/Sub: Mẫu Form có chứa From con bên trong.
Như mục đích “thân thiện hóa” đã nói, thì dạng Datasheet rất ít được dùng.
Dạng Continuous Forms được dùng trong việc thống kê theo dõi dữ liệu
hay rút trích dữ liệu theo những mục đích cụ thể và rõ ràng.
Dạng Single Forms rất thuận tiện trong việc cập nhật dữ liệu vào các Table.
Chú ý rằng trong Microsoft Access thì Table là nơi lưu trữ dữ liệu, còn
Query và Forms chỉ là công cụ hỗ trợ trong công việc. Như vậy Query và Forms
không lưu trữ dữ liệu.
3.2.4. Các mục khác:
AllowsEdit: (Yes/No) quy định có chấp nhận chỉnh sửa dữ liệu không.
DataEntry: (Yes) chế độ nhập mới.
ScrollBar cho phép hiển thị các thanh cuốn khi dùng Continuous Forms khi
dữ liệu dài quá một trang màn hình.
Nevigation Button cho phép hiển thị các nút phóng to hay thu nhỏ Forms.
Tương tự cho Close Button.
3.3. CÁC OBJECT TRÊN FORMS:
3.3.1. TextBox:
TextBox là thành phần không thể thiếu trên Forms cho phép người dùng

nhập văn bản vào đó (TextBox có nghĩa là Hộp văn bản). Theo công dụng thì
TextBox được phân thành ba loại chính:
+ TextBox BoundControl: BoundControl là loại TextBox gắn liền với một
Field của một Table hay Query, TextBox này dùng vào việc nhập liệu hay hiển thị
dữ liệu ra màn hình.
+ TextBox UnBoundControl không gắn với bất kỳ Field nào, Un
BoundControl thường dùng trong việc gửi vào một điều kiện nào đó dùng cho việc
thi hành mộc tác vụ nào đó trên Forms hay CommandButton khi xảy ra một biến
cố Even.
+ TextBox BoundCalculate: đóng vai trò tính toán trên Cơ sở dữ liệu.
3.3.2. ComboBox:
ComboBox thể hiện một danh sách được lập sẵn cho phép người dùng lựa
chọn những mục có trong danh sách này thay vì phải gõ.
Trong chương trình thì ComboBox được dùng trong việc bắt buộc người
dùng phải chọn lựa dữ liệu một cách bắt buộc, không cho phép người sử dụng
nhập dữ liệu trái quy định.
ComboBox cũng có hai loại: BoundControl gắn liền với một Field của một
Table hay Query, UnBoundControl không gắn với bất kỳ Field nào, dữ liệu của nó
là dãy danh sách được nhập vào trong khi thiết kế.
3.3.3. ListBox:
ListBox có ý nghĩa giống ComboBox nhưng xuất hiện dưới dạng một danh
sách chiếm nhiều diện tích trên Forms, do đó ListBox rất ít được dùng.
3.3.4. Label:
Là dòng văn bản diễn giải ý nghĩa của một Control.
3.4.5. CommandButton:
CommandButton là nút lệnh dùng để thi hành một tác vụ gì đó khi có biến
cố (Even) xảy ra, tác vụ này có thể được gán dưới dạng Macro, Code hay một
đoạn Module. Các Even cơ bản thường gặp đối với CommandButton:
- On Click: nút lệnh được nhấn.
- Double Click: nút lệnh được nhấn đôi.

- On Mouse Move: khi Mouse di chuyển ngang qua nút lệnh.
- On Lost Focus: khi nút lệnh được chọn.
- On Got Focus: khi nút lệnh mất Focus.
3.4.6. CheckBox:
CheckBox là hộp kiểm tra. CheckBox chỉ có thể ở một trong hai trạng thái
được chọn hay không được chọn.
PHẦN THỨ TƯ
MACRO
Macro là tập hợp một số thao tác tự động được thực hiện khi xảy ra Even.
Các Even thường gặp đã được nêu trong phần CommandButton.
4.1. MACRO ĐƠN:
Khi tạo mới một Macro, thường xuất hiện ra hai khung cơ bản:
4.1.1. Action:
Là khung chứa các lệnh cần thực hiện.
Khi nhấp Mouse vào khung Action, lập tức một mũi tên dropdown xuất
hiện, trong đó chứa một danh sách các lệnh:
Add Menu Apply Filter Beep Cancel Even
Close Copy Object Delete Object Find Next
Find Record GoTo Record GoTo Control GoTo Page
Hourglass Move Size Msgbox Open Forms
Open Table Open Reports Print Prin Review
Quit Rename Restore Run Code
Run Macro Run SQL Select Object Send Key
Set Value Set Warnings
Khi cần chỉ việc chọn trong List này thì Microsoft Access tự động cập nhật
lên dòng Action.
Comment: Khung Comment là khung chú thích diễn giải cho người viết
chương trình nhớ và tìm kiếm dễ dàng hoặc sửa chưã khi cần thiết.
4.1.2. ActionArgument:
ActionArgument là một bảng con đi theo một Action. Như vậy có nghĩa

rằng với các Action khác nhau thì ActionArgument cũng khác nhau.
ActionArgument được xem là thuộc tính của Action. Sau đây là một số
ActionArgument cơ bản:
4.1.2.1. Lệnh Open:
Khi dùng các lệnh Open (ví dụ: OpenForm), thì các thuộc tính phải khai
báo là: FormName: tên Form được mở.
Filter Name: Khai báo sự chọn lựa.
WhereCondition: khai báo điều kiện cho các dữ liệu được mở.
4.1.2.2. Lệnh GoTo:
Lệnh GoTo thường có hai loại đi chung với nhau:
GoToRecord: chuyển con trỏ mẩu tin đến mẩu tin kế tiếp, khi đó, các thuộc
tính cần khai báo là:
- Object Type: Loại Table hay Form.
- Object Name: Tên Object.
- Record: Chọn Next là di chuyển đến mẩu tin kế.
- Previous trở về mẩu tin trước.
- Last đến mẩu tin cuối cùng.
- Fist: trở về mẩu tin đầu tiên.
4.1.2.3. RunCommand: thực hiện lệnh theo danh sách sẵn có của Microsoft
Access.
4.1.2.4. RunCode: thực hiện một mã lệnh, hoặc hàm tự tạo.
4.2. MACRO NHÓM
Đôi khi ta tổ chức các Macro có các mối tương quan với nhau thành từng
nhóm.
Khi đó ta cần thêm các cột:
MacroName: Tên riêng cho từng Action.
Sau đó là mục Action, và cuối cùng là Comment.
4.3. THI HÀNH MACRO:
Về lý thuyết mà nói, chỉ cần chọn tên Macro trong MacroContainer sau đó
chọn Run.

PHẦN THỨ NĂM
MODULE
Module được sử dụng vào công việc thảo chương khi Macro không đáp ứng
được công việc của người lập trình.
Module thường được viết dưới dạng hàm (Function) hay dạng thủ tục (Sub)
sau đó được Form gọi vào để thi hành.
PHẦN LẬP TRÌNH ACCESS
Microsoft Access cho phép tạo và lưu trữ dữ liệu ở dạng Table. Một Cơ sở
dữ liệu có thể có nhiều Table, trong Table có nhiều Fied, và có một hay nhiều
Field được chọn làm khóa chính (Primary Key).
Hai Table có thể có mối quan hệ với nhau khi nó có thể bổ sung thông tin
cho nhau. Có hai loại quan hệ giữa các Table trong Microsof Access:
- Table A có quan hệ một - một với Table B khi dữ liệu trên Table A chỉ
xuất hiện một lần trên Table B.
- Table A có quan hệ một - nhiều với Table B khi dữ liệu trên Table A có
thể xuất hiện nhiều lần trên Table B.
Để khai báo quan hệ, các Table phải xây dựng xong với đầy đủ khóa chính,
khóa ngoại, gọi Menu Tools - RelationShip. Sau khi thiết lập các mối quan hệ
RelationShip, các Table có thể bổ xung dữ liệu cho nhau nhằm tiết kiệm bớt bộ
nhớ vật lý cũng như logic.
Phần mềm Microsoft Access cho phép người viết chương trình tạo ra các
mối quan hệ và xử lý dữ liệu khá linh hoạt. Mặt khác, giao diện giữa người dùng
và máy tính được cải biên theo người Việt Nam với dàn Menu, bộ hướng dẫn và
các thông báo lỗi của chương trình hoàn toàn bằng Việt ngữ.
Trước khi dàn dựng chương trình cần chú ý:
NHỮNG THÀNH PHẦN CƠ BẢN TRONG ACCESS BASIC
1. BIẾN:
Từ khóa khai báo: Public, Global hoặc Dim:
* Dim khai báo trong thủ tục có phạm vi cục bộ trong thủ tục đó.
* Dim khai báo trong Declaration Section của đơn thể thì thuộc đơn thể

khai báo biến.
* Global khai báo trong Declaration Section của đơn thể thì trên toàn bộ hệ
thống áp dụng được biến đó, tốt nhất là sử dụng cho những biến tạm thời. Nhiều
thủ tục khác nhau có thể sử dụng tên biến giống nhau.
Biến thuộc đơn thể (Module variable): thì dùng chung cho những thủ tục
thuộc đơn thể đó, mọi thủ tục đơn thể đều có thể hoặc tham chiếu giá trị của biến
này bằng tên của nó. Những thủ tục của đơn thể khác thì không thể tham chiếu
được biến này. Vì vậy muốn khai báo một biến đơn thể có thể sử dụng trong tất cả
các thủ tục bằng các ghi hiệu lệnh Dim trên vùng Declaration Section của đơn thể
đó.
* Biến toàn cục (Global variable) là biến có phạm vi sử dụng rộng nhất,
nghĩa là giá trị của nó có thể tham chiếu từ bất kỳ một thủ tục nào thuộc bất kỳ
một đơn thể nào trong hệ thống áp dụng của ta. Cách khai báo tương tự như trên
nhưng thay từ khóa Dim bằng Global.
2. CÁC KIỂU DỮ LIỆU CƠ BẢN:
Variant
Biến Variant có thể chứa dữ liệu kiểu số học, kiểu chuỗi, kiểu ngày tháng...
Ví dụ: Dim Temp As Variant.
Các kiểu khác:
Dim i As Integer: khai báo số nguyên.
Dim k As Double: khai báo số thực.
Dim St As String: khai báo chuỗi.
Sau đây là một mẫu gán giá trị cho biến có kiểu String (chuỗi), khai báo
trong khi viết chương trình bằng ngôn ngữ AccessBasic
Cách viết Ý nghĩa
Dim Str As String Khai báo biến chuỗi Str
Str=“Chuỗi văn bản” Gán giá trị
Froms!FormName!ControlName=Str Gán giá trị cho Control
- Lưu ý: Biến có kiểu String luôn được bao trong dấu nháy đôi “”.
Ví dụ: đoạn mã lệnh sử dụng trong Forms Mật khẩu, người sử dụng bắt

buộc phải nhập đúng mật khẩu (kiểu chuỗi) mới vào được chương trình.
Dim Password As String,FormName As String,StLinkCriteria As String
Password = “MyPassword”
FormName = “FormName”
If TextMatkhau<>Password Then
If Solan < 3 Then
MsgBox “Sai mật khẩu”&Chr(13)&“Nhập lại”,64,”Thông báo”
Solan = Solan + 1
Else
MsgBox “Không thể tiếp tục chương trình”,64,”Thông báo”
Docmd.Quit ‘ Thoát khỏi Microsoft Access.
Else
Docmd.OpenForms FormName,,,StLinkCriteria
End If
End If
Ta có thể viết một hàm dùng truy tìm mã một nhân viên để truy ra họ và tên
của nhân viên trong Table TCONGCHUC như sau:
Function NameChucdanh(ByVal MaConnect As String) As String
Dim STKetqua As String ‘biến kiểu chuỗi
Dim MyDBS As DataBase ‘biến kiểu DataBase
Dim MytabConnect As Recordset ‘biến Recordset
Set MyDBS = CurrentDb ‘DataBase hiện hành
Set MytabConnect = MyDBS.OpenRecordset("TCONGCHUC")
‘gán biến Recordset vào Table TCongchuc
MytabConnect.MoveFirst ‘về mẩu tin đầu tiên
Do Until MytabConnect.EOF ‘lặp đến cuối
If MaConnect = MytabConnect!MACC Then
STKetqua = MytabConnect!HOTEN
End If
MytabConnect.MoveNext ‘chuyển đến mẩu tin kế

Loop
NameChucdanh = STKetqua
End Function
Ghi chú cho đối tượng Recordset: Recordset là một trong những đối tượng
của AccessBasic, khi sử dụng đối tượng này cần phải gán vào một Table hay
Query trong một DataBase cụ thể bằng lệnh Set.
Trong đoạn chương trình trên, lệnh gán dùng phương thức mở một Table đã
có trong DataBase. Muốn lấy dữ liệu từ một trường nào đó ta sử dụng cách thức
lấy đã quen thuộc trong khi tham vấn trên Query: Tên biến Recordset!Tên trường.
Muốn chỉnh sửa nột dung trong Recordset, ta sử dụng các lệnh sau:
Ví dụ: Khai báo biến như sau: Dim RS As Recordset.
Sau khi mở xong ta chuyển vào chế độ chỉnh sửa bằng lệnh: RS.Edit
Chỉnh sửa xong ta lưu lại bằng lệnh RS.Update
Sau cùng phải đóng Recordset bằng lệnh RS.Close.
Chú ý: Hàm CurrentDB trả về DataBase hiện hành. Khi viết Code ta dùng
hàm này để truy vấn dữ liệu trên DataBase hiện hành.
MẪU BIỂU FORMS
1. KHÁI NIỆM CƠ BẢN
Mẫu biểu Forms là một dạng thức dùng để biểu thị dữ liệu của chính mình
giúp cho người sử dụng dễ nhận biết với giao diện giống như các biểu mẫu quen
thuộc hàng ngày. Ta có thể dùng Forms để cập nhật, xem hay in ấn dữ liệu...
Thiết kế:
Forms có nhiều thuộc tính (properties) thể hiện một công việc nào đó:
Record Soucre: Nơi lấy dữ liệu.
Filter: Điều kiện lọc.
Default View: dạng thể hiện.
Allow Edits: Yes cho phép chỉnh sửa trên Froms; No không cho phép chỉnh
sửa.
Data Entry: tự động chèn mẩu tin trắng vào cuối Database để nhập mới.
ScrollBars: thanh cuộn ngang và thanh cuộn dọc trên Forms.

NavigationButtons Nút lệnh chọn record (Yes/No).
RecordSource: như trên đã nói, đây là nơi Form lấy dữ liệu hay cập nhật dữ
liệu, RecordSource có thể là một Table hay một Query.
Ngoài ra còn rất nhiều các thuộc tính khác quy định các tính chất của một
mẫu biểu Forms.
Singel Forms : tại một thời điểm chỉ có duy nhất một mẩu tin được hiển
thị.
Continues form: tại một thời điểm có nhiều mẩu tin được hiển thị.
Trong quá trình thiết kế mẫu nhập liệu nên chọn Singel Forms và DataEntry
để nhập liệu vào mẩu tin cuối cùng.
Muốn lọc, trích theo dõi dữ liệu, chọn Continues Form.
Trong một Forms có thể có rất nhiều các biến cố Even, khi biến cố xảy ra
thì chương trình sẽ thi hành một tác vụ gì đó.
Các tác vụ được thi hành có thể là một Macro hay một nhóm Macro, nhưng
như đã nói ở phần trên, Macro rất dễ viết, nhưng các tác vụ phức tạp thì buộc phải
sử dụng các đoạn mã lệnh Code.
Code được viết bằng ngôn ngữ Basic đặc trưng tiêu biểu là ngôn ngữ
Visual Basic, có lối viết rất thoải mái, có cấu trúc rõ ràng.
Trong khi tạo các đoạn mã lệnh thi hành một tác vụ gì đó liên quan đến đối
tượng, ta có cú pháp khai báo như sau:
Đối tượng.hành vi [đối số As kiểu]
Ví dụ:
Dim MyDB As Database, MySet As Recordset
Set MyDB=DBEngine.Workspace(0).DataBase
Lưu ý từ khóa Dim dùng để khai báo biến cục bộ trong một đơn thể.
* Định thời một Forms:
Đoạn mã lệnh dưới đây thường dùng trong việc tạo ra các Forms Logo:
solan=solan+1
If solan>3 Then
Docmd.Close

End If
Trong chương trình thì việc gởi ra ngoài màn hình một thông báo là hết sức
cần thiết. Microsoft Access hỗ trợ cho người thảo chương hàm MSGBOX,
MsgBox được sử dụng chủ yếu là trong công việc báo lỗi cho chương trình. Một
số hiển thị chuẩn khi sử dụng MsgBox:
Cú pháp:
MsgBox(“Message”,type,“Title”)
Message là nội dung câu thông báo.
Type là cách thức hiển thị các CommandButton và các biểu tượng trên hộp
Dialog.
Value Meaning
0 Display OK button only
1 Display OK,Cancel button
2 Display Abort, Retry and Ignore button
3 Display Yes, No and Cancel button
4 Display Yes and No button
5 Display Retry and Cancel button
Icon style
0 Display no icon
16 Display Critical Message icon
32 Display Warning Query icon
48 Display Warning Message icon
64 Display Information Message icon
* Các hằng số gán focus cho nút lệnh trên hộp thông báo MessageBox:
VBDefaultButton1 0 First Button default.
VBDefaultButton2 256 Second Button default.
VBDefaultButton3 512 Third Button Default.
VBDefaultButton4 768 Forth Button Default.
* Resturn Value: giá trị gán vào khi các nút lệnh được click (OnClick).
Constan Value Description

VbOK 1 OK
VbCancel 2 Cancel
VbAbort 3 Abort
VbRetry 4 Retry
VbIgnore 5 Ignore
VbYes 6 Yes
VbNo 7 No
Ví dụ:
Dim VBQuestion
Question = MsgBox “Thoát chương trình”, 1 + 32 + 0, “Thông báo”
If VBQuestion <> 1 Then
Exit Function
Else
DoCmd.Quit
End If
2. PHẦN THỰC HÀNH
Trong mẫu biểu Form, đối tượng ComboBox làm cho Forms sinh động hẳn
lên, nhờ có nó, ta sẽ mất đi cảm giác máy móc trong khi làm việc.
1. ComboBox nhập liệu kiểu Logical:
Cụ thể trong một số trường hợp, dữ kiện trong Table được mang kiểu dữ
liệu (DatType) luân lý (Logical), nghĩa là chỉ có một trong hai nội dung True hoặc
False.
Các ví dụ minh họa để tham khảo:
* Giới tính: chỉ có một trong hai giới tính Nam hoặc Nữ.
* Đảng phái: chỉ có thể là Có hoặc Không.
* Biên chế của công chức chỉ có thể Có (trong Biên chế) hoặc Không
(ngoài Biên chế).
và nhiều ví dụ khác.
Trong các trường hợp này dữ liệu sẽ mang kiểu luân lý để tiết kiệm bộ nhớ
trong quá trình lưu trữ dữ liệu.

Trong máy tính, kiểu dữ liệu này được mã hóa như sau:
Giá trị True được mã hóa là 0.
Giá trị False được mã hóa là -1.
Khi đó ta tạo ComboBox dùng nhập dữ liệu này với các thuộc tính như sau:
(Ví dụ cho giới tính).
Propeties
Name :MPHAI. Tên của ComboBox.
ControlSource :PHAITINH Dữ liệu ghi vào Field PHAITINH
RowSourceType :ValueList Dữ liệu là một list có sẵn.
RowSource :0;Nữ;-1;Nam
BoundControl :1 Dữ liệu cần lưu nằm ở cột 1.
ColumnCount :2 Dữ liệu có hai cột
ColumnWidth :0;1,5 Chỉ cho cột 2 hiển thị
ListRow :2 List chỉ có 2 dữ liệu
Ta xem sự thể hiện của toàn bộ list của ComboBox trên như sau:
0 Nữ
-1 Nam
Sa khi đã ấn định các thuộc tính như trên, thì khi nhắp mouse vào
ComboBox ta thấy:
Nữ
Nam
2. ComboBox lựa chọn:
Trong loại này thì dữ liệu được lấy từ một Table thông qua câu lệnh Select:
Propeties
Name :CHON. Tên của ComboBox.
ControlSource :FieldName Tên trường lấy dữ liệu
RowSourceType :Table/Query Lấy từ một Table hay Query
RowSource :Câu lệnh SQL câu lệnh Select.
BoundControl :1 Dữ liệu cần lưu nằm ở cột 1.
ColumnCount :2 Dữ liệu có hai cột

ColumnWidth :0;1,5 Chỉ cho cột 2 hiển thị
ListRow :2 List chỉ có 2 dữ liệu
Câu lệnh SQL lựa chọn dữ liệu lấy lên là:
SELECT TCONGCHUC.MACC;TCONGCHUC.HOTEN
FROM TCONGCHUC;
Cũng có thể dùng ComboBox cho phép nhập một số dữ liệu cố định được
quy định sẵn: chọn ValueList trong RowSourceType, mục RowSource nhập sẵn
một danh sách, giữa các phần tử cách nhau dấu chấm phẩy.
2. FORMS VÀ CÁC NÚT LỆNH TRÊN FORMS:
Khi nhìn Form dưới dạng Design, ta thấy các thành phần cơ bản hay sử
dụng gồm có:
Form Header chứa tiêu đề của Form.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×