Bài giảng Microsoft Access

NỘI DUNG

Chương I. Một số khái niệm cơ bản

Chương II. Các thao tác với bảng (Tables)

Chương III. Truy vấn thông tin (Queries)

Chương IV. Thiết kế giao diện (Forms)

Chương V. Thiết kế báo cáo (Reports)

Chương VI. Các lệnh vĩ mô (Macros)

Chương VII. Lập trình trong Access (Modules)

 

ppt94 trang | Chia sẻ: hienduc166 | Lượt xem: 826 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Microsoft Access, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
và thủ trưởng đơn vị ký tên, đóng dấu.(Tiếp theo)2. Các loại báo cáo trong Microsoft Access.Báo cáo dạng bảng Datasheet, mỗi bản ghi in trên 1 dòng.Báo cáo dạng cột Columnar. Mỗi field in trên 1 dòng. Hai dạng này phục vụ cho các báo cáo nhanh tức thời, cần thông tin và số liệu hơn mặt pháp quy.Báo cáo dạng tổng hợp có thể có các dòng tổng con. Đây là dạng thông dụng nhất trong các cơ quan, đơn vị.Báo cáo dạng phiếu (Label). Mỗi bản ghi dữ liệu nguồn được in trên một phần của trang giấy in.Báo cáo dạng biểu đồ (Chart) để phản ánh sự biến thiên của một dãy số (dạng line), hoặc mang tính so sánh (Column / Bar) hay tỷ trọng của một đại lượng trong tổng thể (Pie), ... §5.2. Tạo Report bằng công cụ hỗ trợ(Wizard)1. Tạo Report nhanh (Auto Report)Thao tác:B0), B1) (nếu chưa làm) B2) Chọn đối tượng Report (nếu chưa làm)B3)	- New \ AutoReport: Tabular/Columnar	- Xác định bảng dữ liệu nguồn cho báo cáo.	- Nhấn OK để hoàn tấtB4) Đóng cửa sổ kết quả và đặt tên lại cho báo cáoTên mặc định của báo cáo là tên bảng dữ liệu nguồn.2. Tạo Report có dòng tổng nhóm (SubTotals)B0), B1), B2) (nếu chưa làm)B3) New \ Report wizard. OK để đi tới bước tiếp theoB4) Lần lượt chọn các fields từ các bảng cần in trên Report.B5) Xác định bảng dữ liệu nào là chính.(Tiếp theo)B6) Bổ sung các cách phân nhóm các bản ghi. Nếu có nhóm thì có thể nhấn Grouping Options để thiết lập cách phân nhóm (Grouping Intervals). Nếu cột phân nhóm có kiểu văn bản thì có thể nhóm theo 1, 2, hay nhiều ký tự đầu tiên; nếu có kiểu số thì có thể nhóm theo 1, 5, 10, 50, 100,... hoặc kiểu DateTime thì nhóm theo tuần, tháng, quý, năm, v.v...B7) Xác định việc sắp xếp thứ tự in theo cột nào.(Tiếp theo)B8)	- Chọn hình thức in báo cáo (Report Layout). Có thể chọn Layout là Stepped (mỗi cấp phân nhóm thì lùi vào phía phải).	- Chọn hướng in (Orientation) là Portrait hoặc LandScape.B9) Chọn kiểu in các chữ và nhóm trong báo cáo (Formal)B10) Đặt tên cho Report, đồng thời là tiêu đề báo cáo.Finish để kết thúc.Ví dụ: Bài toán quản lý vũ khí, Công nợ, Kế toán, Thương binh3. Tạo Report dạng phiếu (Label)Thao tác:B0), B1), B2) (nếu chưa làm)B3)	- New \ Label Wizard.	- Xác định nguồn dữ liệu	- OK để đi tiếp bước sau.B4) Xác định kích thước Label từ một số mẫu có saün.(Tiếp theo)	Nếu muốn tạo kích thước mẫu mới thông qua chức năng Customize \ Edit\. Và thiết lập các thông số lề trái, phải, trên, dưới, khoảng cách so với các Label lân cận, ...B5)Xác định Font, kích thước và kiểu chữ trong Label.B6) Xác định các field có saün cần in trên Label.B7) Xác định thứ tự in các bản ghi (Sort Order...)B8) Đặt tên cho Label vàFinish để kết thúc.4. Tạo Report dạng biểu đồ (Chart)Thao tác:B0), B1), B2) (nếu chưa làm)B3)	- New \ Chart Wizard.	- Xác định nguồn dữ liệu	- OK để đi tiếp bước sau.(Tiếp theo)B4) Xác định các field chứa dữ liệu để vẽ biểu đồ.B5) Xác định loại biểu đồ (Line, Bar, Pie, Area)B6) Xác định giá trị trục x, y bằng cách kéo-thả vào ChartB7) Đặt tên cho biểu đồ và Finish để hoàn tất.§5.3. Tự thiết kế Report (Report Design)Thao tác:B0), B1), B2) (nếu chưa làm)B3) New \ Design View.B4) Xác định khổ giấy (Paper size), lề (Margins), hướng in (Orientation) thông qua \File \ Page SetupB5) Xác định nguồn dữ liệu cho Report thông qua thuộc tính Record Source của đối tượng Report.B6) Bổ sung các thành phần phân nhóm để lấy tổng con (Sub Totals) \View \ Sorting and GroupingB7) Lần lượt kéo-thả các thuộc tính cần thiết vào ReportB8) Bổ sung các Control cần thiết khácB9) Đặt thuộc tính cho các đối tượng trên Report. Trình bày Report sao cho cân đối.B10) Đóng cửa sổ thiết kế và đặt tên cho Report.CHƯƠNG VI. LỆNH VĨ MÔ (Macros)NỘI DUNG:§6.1. Khái niệm§6.2. Hệ thống Macros của Microsoft	1. Nhóm hành động thao tác với Form/Report	2. Nhóm hành động 	3. Nhóm hành động	4. Nhóm hành động§6.3. Một số hành động (Action) thông dụng	Ứng dụng trong việc tạo Menu hệ thốngCHƯƠNG VII. LẬP TRÌNH VỚI ACCESS BASICNỘI DUNG:§7.1. Khái niệm§7.2. Các kiểu dữ liệu của Microsoft Access	1. Kiểu vô hướng (Scalar)	2. Kiểu mảng (Array)	3. Kiểu dữ liệu tự định nghĩa	4. Kiểu đối tượng truy nhập dữ liệu (D.A.O)§7.3. Hệ thống lệnh các câu lệnh của Access	1. Khai báo biến (Declaration)	2. Rẽ nhánh chương trình (If, Select Case)	3. Các lệnh lặp (For, Do, While)§7.4. Thủ tục và Hàm §7.5. Xây dựng Ứng dụng bằng Access§7. 2. Các kiểu dữ liệu của Microsoft Access1. Kiểu vô hướng (Scalar)2. Kiểu mảng (Array)3. Kiểu dữ liệu tự định nghĩa (User-Defined)4. Kiểu đối tượng truy nhập dữ liệu (D.A.O)§7.3. Hệ thống lệnh các câu lệnh của AccessKhai báo biến (Declaration)Cú pháp: [Global/Private/Dim] [()] [As ],	 [()] [As ], ...Ngữ nghĩa: Từ khóa Global thể hiện việc khai báo biến là tổng thể, tức là dùng chung được cho toàn ứng dụng Access. Điều dễ hiểu là các biến thuộc loại này phải được khai báo trong các modules.Từ khóa Private /Dim thể hiện việc khai báo biến là cục bộ, tức là chỉ có nghĩa trong phạm vi nó được khai báo, ngoài vùng khai báo biến không còn giá trị. Có thể là cục bộ trong hàm, cục bộ trong module chương trình của một Form/Report, hoặc trong modules các hàm tổng thể. (Tiếp theo) là một định danh (Identifier), là một dãy ký tự chữ cái và/hoặc chữ số, bắt đầu bằng chữ cái. Có thể có thêm 1 ký tự theo sau, thể hiện kiểu dữ liệu: % - số nguyên Integer, $ - chuỗi, ! – số thực single...Nếu không khai báo tường minh kiểu cho biến thì biến có kiểu mặc định là biến thể (Variant).Việc khai báo biến trong Visual Basic, nói chung, là không bắt buộc. Tuy nhiên, nên khai báo biến để dễ kiểm soát chương trình, và tận dụng được khả năng Visual của Basic.Ví dụ: Dim i, j, k As IntegerThì chỉ có k là thuộc kiểu số nguyên 2 bytes, còn i và j đều thuộc kiểu Variant.Tên biến viết hoa hay thường là như nhau(Tiếp theo)2. Gán giá trị cho biến (Set)Cú pháp: [Set] = Giá trị của biểu thức được tính toán và gán cho . Nếu kiểu giá trị của biểu thức là vô hướng (Scalar) và kiểu của biến cũng là vô hướng thì máy tự chuyển đổi kiểu cho phù hợp với kiểu lưu trữ của biến.Nếu có kiểu đối tượng (Object) thì câu lệnh gán phải có từ khóa Set.Ví dụ: Dim MyDB As DAO.Database, MyTab As DAO.TabledefDim nTabs As Integer 	‘ Số lượng table trong CSDL.Set MyDB = DBEngine.Workspaces(0).Databases(0)Set MyTab = MyDB.Tabledefs(0)nTabs = MyDB.Tabledefs.Count(Tiếp theo)3. Lệnh rẽ nhánh chương trình (If, Select Case)a) Lệnh rẽ nhánh (IF).Cú pháp của lệnh được đơn giản hóa như sau:If Then	[Else	 ]End If(*) Nếu sau Then chỉ có 1 câu lệnh thì có thể viết lệnh trên cùng 1 dòng với Then và không cần End IfVí duï: If n = 0 then	x1 = (-b + Sqr(Delta)) / (2* a): x2 = (-b - sqr(Delta)) / (2* a)Else : 	debug.print “Vô nghiệm”End if(Tiếp theo)b) Lệnh chọn 1 trong nhiều khả năng (SELECT CASE).Cú pháp: Select Case ()	Case 	Case 	...	Case 	[ Case Else	 ]End Select(Tiếp theo)4. Các lệnh lặp (For, Do, While)a. Lặp hữu hạn từ 0 đến nhiều lần For:	For = To [Step n] 	Next []Ngữ nghĩa: Nếu không có [Step n] thì mặc định là Step 1.Ban đầu nhận . Chừng nào mà giá trị của còn nhỏ hơn hoặc bằng (với n>0) hay lớn hơn hoặc bằng (với n còn được thực hiện; sau mỗi lần thực hiện thì giá trị của sẽ được cộng thêm với gia số n.Ví dụ: Tính giá trị của n giai thừa (n! = 1.2.3...n)Dim f As Double, i As Integerf = 1(Tiếp theo)For i = 1 To n 	f = f * iNext i	Trong số các câu lệnh sau For, có thể có các lệnh Exit For để kết thúc bất thường (kết thúc sớm) vòng lặp.b. Lặp vô hạn lần Do:Dạng b1):Do [While / Until ]	LoopHoặc dạng b2):Do	Loop [While / Until ](Tiếp theo)Ngữ nghĩa: Chừng nào còn thỏa mãn (với từ khóa While) thì còn thực hiện sau Do; hoặc còn thực hiện sau Do cho tới khi (Until) điều kiện được thỏa.Trong dạng b1) điều kiện sẽ được kiểm tra trước khi thực hiện các câu lệnh. Còn trong dạng b2) điều kiện sẽ được kiểm tra sau khi thực hiện xong các câu lệnh. Có thể kết thúc vòng lặp một cách bất thường nhờ câu lệnh Exit Do trong vòng lặp.c. Lặp với số lần không biết trước While.While 	Wend(Tiếp theo)Ngữ nghĩa: Chừng nào sau While còn thỏa thì sau Do còn được thực hiện. Không có lệnh để kết thúc vòng lặp một cách bất thường.d. Lặp với các phần tử trong 1 tập hợp For Each ... Next.For Each In 	Next Ví duï:Dim MyDB As DAO.Database, MyTab As DAO.TabledefSet MyDB = CurrentDBFor Each MyTab In MyDB.Tabledefs()	MsgBox “Tên bảng: “ & MyTab.NameNext MyTab§7.4. Thủ tục và hàm1. Khai báo / định nghĩa thủ tục (Subroutine)[Private] Sub ([ByVal / ByRef] , [ByVal / ByRef] , ...)	[]	End Sub(*) Mặc định: các tham đối được truyền theo tên (Call by Name).ByVal – truyền theo tham trị (Call by Value); ByRef – truyền theo tham chiếu (Call By Reference). (*) Các tham đối hình thức của hàm có vai trò như những biến cục bộ. Để kết quả thi hành thủ tục có ảnh hưởng tới tham đối thực khi gọi hàm, thì các tham đối này phải được khai báo với từ khóa ByRef hoặc không có ByVal và ByRef.(*) Nếu tham đối hình thức là 1 mảng thì đặt sau nó cặp dấu ngoặc tròn ( ).(Tiếp theo)2. Khai báo / định nghĩa hàm (Function)[Private] Function ([ByVal / ByRef] , [ByVal / ByRef] , ...) As 	[]	End Function(*) Trong thân của hàm phải có ít nhất một lần gán giá trị cho tên hàm. Đó chính là giá trị kết quả trả về của hàm.Các ví du:Thủ tục liệt kê tên các bảng có trong CSDL hiện thời (trừ các bảng hệ thống có tên bắt đầu bằng chữ “MSys”)Kiểm tra xem bảng có tên là “TabName” đã có trong CSDL UsrDB hay chưa?Tương tự đối với Query “QryName”(Tiếp theo)Private Sub TenBang ()	Dim MyDB As DAO.Database, i As Integer	Set MyDB = CurrentDB	For i = 0 to MyDB.TableDefs.Count - 1	If Left(MyDB.tableDefs(i).Name, 4) “MSys” then	MsgBox “Bảng thứ i là: “ & MyDB.TableDefs(i).Name	End If	Next iEnd SubPrivate Function ExistTable (DB As Database, TName As String)	Dim i As Integer	For i = 0 to DB.TableDefs.Count-1	if DB.TableDefs(i). Name = TName then Exit For	Next i	ExistTable = (i “MSys” then	MsgBox “Bảng thứ i là: “ & MyDB.TableDefs(i).Name	End If	Next iEnd SubPrivate Function ExistTable (DB As Database, TName As String)	Dim i As Integer	For i = 0 to DB.TableDefs.Count-1	if DB.TableDefs(i). Name = TName then Exit For	Next i	ExistTable = (i < DB.TableDefs.Count) End Function

File đính kèm:

  • pptbai giang Access 2003.ppt
Bài giảng liên quan