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

Bài giảng Access nâng cao potx

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 (322.52 KB, 15 trang )

Bài Giảng Access NC Trung Tâm Tin Học Kỷ Nguyên
Phần ứng dụng Visual Basic vào Access
Thiết Kế FORM:
Khi thiết kế Form chúng ta nên sử dụng
chức năng Design View của form
B1: FormNewDesign View OK
B2: Vào thuộc tính của form Data 
Control SourceChọn dấu …lấy nguồn dữ
liệu cho form
B3: Thiết kế form (giống phần căn bản)
B4: Tạo các đối tượng trên form bằng chức
năng tự thiết kế
B5: Viết các câu lệnh cho các sự kiện
Thuộc Tính Chung Của Form
Default View: chế độ hiển thị
của
Form
 Single Form: Form
đơn (tạo Main
form )
 Datasheet: Thường
dùng tạo Subform
Scroll Bars: Thanh cuộn trn
Form
 Neither: Khơng hiển
thị thanh cuộn
 Vertical: Thanh cuộn
dọc
 Horizontal: Thanh
Cuộn ngang
Navigation Button: Yes/No


cho hay khơng hiển thị thanh di chuyển mẩu
tin
Picture Type: chọn hình nền
hiển thị trên Form
Data:
Control source: Nguồn dữ
liệu cho Form ( Field List) ( Ta có thể
click biểu tượng …mở cửa sổ
SQL_Staterment để chọn nguồn dữ liệu
cho Form khi tạo sub
Allow Edits: Yes/No
Cho/Khơng sửa dữ liệu trên form
Allow Deletions: Yes/ No->
Cho/ Khơng Xóa mẩu tin
Allow Additions: Yes/ No ->
Cho/ Khơng thêm mẩu tin mới
All
Caption: Tiêu đề của Form
Dividing lines: Đường qua các phân vùng
Navigation Buttons: Thanh chỉ mẩu tin
Record seletors: Chức năng chỉ mẩu tin
Record locks: Khoa mẩu tin trên form
Enabled: Sáng/mờ đối tượng
Tab Index: Thứ tự khi nhấn phím tab
Visible: Ẩn/ hiện đối tượng
Width: Độ rộng
Hight: Chiều cao
Even Của Control
On Click: Xảy ra khi nhấn con trỏ
chuột

On Dbl Click: Khi nhấp đơi chuột
Before Update: Trước khi dữ liệu
trên Control được cập nhật vào bảng
After Update: Sau khi dữ liệu trên
Control được cập nhật vào bảng
Event Của Form
On Current: xảy ra khi có sự
di chuyển qua các mẩu tin khác
Before Update: Xảy ra trước
khi mẩu tin trong Form được cập nhật
vào Table
After Update: Xảy ra sau khi
mẩu tin trên Form được cập nhật vào
Trang 1 Lưu Hành Nội Bộ -2009
Baøi giaûng Access 1
On Got Focus: Khi Control nhận con
trỏ
On Exit: Khi con trỏ bắt đầu rời khỏi
Control
On Lost Focus: Khi con trỏ rời hẳng
Control
On Not In List: Kiểm tra dữ liệu
trong Combo box
Table
On Load: Xảy ra khi Form
được mở lên
Before Del Confirm: Xảy ra
trước khi xóa Record
After Del confirm: Xảy ra
sau khi xóa record

On Error: Xảy ra khi Form
xuất hiện một lỗi
Dạng 1:
If <điều kiện > Then
<một câu lệnh>
Nếu <điều kiện> đúng
thì câu lệnh sẽ thực hiện
Dạng 2:
If <điều kiện> Then
< Nhóm lệnh>
End if
Nếu <điều kiện> đúng thì Nhóm câu lệnh sẽ
thực hiện
Dạng 3:
If <điều kiện> Then
<nhóm câu lệnh 1>
Else
<nhóm câu lệnh 2>
End if
-Nếu <điều kiện> đúng thì <nhóm câu lệnh
1> sẽ thực hiện. Ngược lại <điều kiện sai>
thì <nhóm câu lệnh 2> sẽ thực hiện.
Dạng 4:
if <điều kiện 1> Then
<Nhóm câu lệnh 1>
Elseif <điều kiện 2> Then
<Nhóm câu lệnh 2>
Elseif <diều kiện 3> Then
<Nhóm câu lệnh 3>
……

Else
<Câu lệnh cuối>
End if
Chú ý: Có thể kết hợp các dạng lồng vào
nhau
Ví dụ: Thiết kế Form thực hiện công việc sau
Trang 2
Baøi giaûng Access 1
1. Nếu DTB>=8 Xep loại: Giỏi
2. Nếu 6.5<= DTB <8 : Kh
3. Nếu 5<= DTB <6.5 : Trung Bình
4. Cịn lại: Yếu
Giải thuật: để viết giải thuật trên ta đặt tên
cho các Control và chọn sự kiện tương
ướng
Private CmdTrungBinh_Click()
Dim DTB As Single
DTB= Val(TxtNhapDiem.Text)
If (DTB>=8) Then
TxtXeploai=“ Giỏi”
Elseif (DTB>=6.5) Then
TxtXeploai=“Kh”
Elseif (DTB>=5) Then
TxtXeploai=“Trung Bình”
Else
TxtXeploai=“Yếu”
End if
End sub
Dùng các công cụ Control tạo giao diện cho
form; đặt lại tên-> vào thuộc tính On Click của

nút lệnh viết sự kiện cho nút lệnh đó.
Thủ Tục Msgbox Và Hàm Msgbox:
Thủ tục MsgBox:
MsgBox “chuỗi thông báo”, “loại
thông báo”, “ Tiêu đề”
Ví dụ:
MsgBox “ Trùng khóa chính”,16,”thông
báo”
Hàm MsgBox:
MsgBox( “chuỗi thông báo”, “loại
thông báo”, “ Tiêu đề”)
Ví dụ:
Private Sub Cmdclose_Click()
If MsgBox("ban có muon thoat khong?", 36,
"Thoat") = 6 Then
DoCmd.Close
End If
End Sub
Chức Năng Di Chuyển Mẫu Tin Navigation
Di chuyễn MT: Nằm trong thư viện Docmd
Về đầu: Docmd.GoToRecord , , acFirst
Về cuối: Docmd.GoToRecord , , acLast
về sau: Docmd.GoToRecord , ,acNext
Về trước: Docmd.GoToRecord , , acPrevious
Khi đang ở MT đầu và cuối; ta thao tác di
Ví d : ng d ngụ ứ ụ
Trang 3
Baøi giaûng Access 1
chuyển sẽ xảy ra lỗi, chú ý xử lý lỗi này
Thêm mới MT:

Me.AllowAddition = True
Docmd.GoToRecord , , acNewRec
Vào sự kiện On Click của các nút
lệnh và viết Code như sau
Private Sub Cmddau_Click()
DoCmd.GoToRecord , , acFirst
End Sub

Private Sub Cmdtruoc_Click()
On Error GoTo loi ‘Xủ lý lỗi về trước
DoCmd.GoToRecord , , acPrevious
Exit Sub
loi:
MsgBox "Dang o mau tin dau ", 16, "chú ý"
End Sub
Private Sub CmdCuoi_Click()
DoCmd.GoToRecord , , acLast
End Sub

Private Sub CmdSau_Click()
On Error GoTo loi ‘Xủ lý lỗi nút sau
DoCmd.GoToRecord , , acNext
Exit Sub
loi:
MsgBox "Dang o mau tin cuoi?",16, "Chu ý"
End Sub
Thao Tác Trên Điều Khiển – Text Box, List Box, Combo Box, Label,…
Lưu mẫu tin:
Docmd.RunCommand acCmdSaveRecord
Xóa mẫu tin:

DoCmd.SetWarnings False ‘tắt cảnh báo
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True ‘bật cảnh báo
Phục hồi (không lưu)
If Me. Dirty=True Then Me.Undo
( Dirty: kiểm tra mẫu tin có rỗng hay không )
Sáng/ Mờ các điều khiển:
Tên điều khiển.Enabled=True (Sáng)
Tên điều khiển.Enabled=False (Mờ)
Ví dụ: Me.Them.Enabled=False
Hiện/ Ẩn điều khiển:
Tên điều khiển.Visible = True ( hiện)
Tn điều khiển.Visible = False (Ẩn )
Ví dụ: Me.Makh.Visible = False
Di chuyển con nháy ( Focus)
Tên điều khiển.SetFocus
Ví dụ: Me.Makh.SetFocus
Trang 4
Baøi giaûng Access 1
Private Sub Form_Open(Cancel
As Integer)
Me.GHI.Enabled = False
Me.KHONG.Enabled = False
End Sub

Private Sub THEM_Click()
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec
Me.MASV.SetFocus
Me.THEM.Enabled = False

Me.XOA.Enabled = False
Me.SUA.Enabled = False
Me.THOAT.Enabled = False
Me.GHI.Enabled = True
Me.KHONG.Enabled = True
End Sub
Private Sub GHI_Click()
If DCount("*", "dmsv", "masv=forms!f7!
masv") > 0 Then
MsgBox "trung khoa chinh ", 16, "trung
khoa chinh "
Me.MASV.SetFocus
Exit Sub
Else
DoCmd.RunCommand acCmdSaveRecord
End if
Me.MASV.SetFocus
Me.GHI.Enabled = False
Me.KHONG.Enabled = False
Me.THEM.Enabled = True
Me.THOAT.Enabled = True
Me.SUA.Enabled = True
Me.XOA.Enabled = True
End Sub
Private Sub KHONG_Click()
DoCmd.GoToRecord , , acLast
Me.MASV.SetFocus
Me.KHONG.Enabled = False
Me.GHI.Enabled = False
Me.THEM.Enabled = True

Me.SUA.Enabled = True
Me.XOA.Enabled = True
Me.THOAT.Enabled = True
End Sub

Private Sub thoat_Click()
If MsgBox("BAN CHAC THOAT?", 36,
"XOA") = 6 Then
DoCmd.Close
End If
End Sub
Private Sub XOA_Click()
If DCount("*", "ketqua", "masv=forms!f7!masv")
> 0 Then
MsgBox "khong the xoa vi co chi tiet",
16, "chu y"
Else
If MsgBox("ban chac xoa", 36, "xoa") = 6 Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.GoToRecord , , acLast
DoCmd.SetWarnings True
End If
End If
End Sub
Text Box Tên khoa:
=Dlookup(“tenkhoa”,”khoa”,
“makhoa=forms!Tenform!makh”)
Nút Sửa:
Sử dụng chúc năng Locked = True/False để

cho phép người dùng nhập liệu vào
Trang 5
Baøi giaûng Access 1
Các Hàm Cơ Sở Dữ Liệu Trong Access
Dlookup: Tìm 1 trường Table theo ĐK
= DLooKup(“Tên trường”, “Tên Table”, “điều kiện”)
Ví dụ:
=Dlookup(“Tenkh”, “DMKH”, “Makh=‘“&makh &” ’ ”) ‘Cho ra tên khoa theo makh được chọn
Dcount: Đếm tổng số mẫu tin theo điều kiện
=Dcount(“tên trường”, “Tên Table”, “điều kiện”)
Ví dụ:
=Dcount(“Masv”, “Dmsv”, “Makh=‘” &Me. makh &” ’ ”) ‘Đếm số sinh viên theo makh chọn
Hoặc có thể:
=Dcount(“Masv”, “Dmsv”, “Makh=Forms!FA4!makh”)
Dsum: Tính tổng theo điều kiện
=Dsum(“Tên trường”, ”Tên Table”, “Điều kiện)
Ví dụ:
Dsum(“Hocbong”, “DMSV”, “makh=‘” &makh &” ’ ”) ‘Tổng học bổng theo từng khoa
Ngoài ra còn có các hàm áp dụng như
= DAvg( )
= DMax( )
= DMin( )
Trang 6
Baøi giaûng Access 1
Kiểm Tra Trong Form
Trước khi thoát có hỏi người dùng
If MsgBox(“ Bạn chắc thóa không?”,36,
“Thoát”)=6 Then
Docmd.Close
End if

Chú ý:
Nếu form không có nút thóat thì ta lập trình
trên sự kiện UnLoad của form
Private Sub Form_Unload(Cancel As Integer)
Docmd.SetWarnings False
If MsgBox(“ bạn chắc thóat?”,36,”thóat”)=7
Then
Cancel= True
End if
Docmd.SetWarning True
End Sub
Trùng khóa chính
If Dcount(“*”, “Table chứa khóa chính”,
“DK”)>0 then
MsgBox “ Trùng khóa chính”, 16, “trùrng
khóa”
Me.khóa chính.SetFocus
Exit sub
End if
Docmd.RunCommand acCmdSaveRecord

If Dcount(“*”, “DMSV”, “Masv=forms!
FA7!Masv”)>0 Then
MsgBox “Trùng khóa chính”, 16,
“Trùng khóa”
Me.Masv.SetFocus
Exit sub
End if
Docmd.Runcommand acCmdSaveRecord
Một số hàm xử lý lỗi và mã lỗi

IsNull Kiểm tra rỗng IsNull(Mamh) – Mamh rỗng
Not IsNull Kiểm tra không rỗng Not IsNull(Mamh) –Mamh không rỗng
And Toán tử và Hocbong>=0 And hocbong<=1000000
Or Toán tử Hoặc
Mã lỗi thực hiện trong sự kiện của nút lệnh – bằng On Error Goto Nhãn
3022 Trùng khóa chính - Err.Number = 3022
3058 Khóa chính rỗng - Err.Number = 3058
3317 Tồn tại một trường rỗng
3201 Khóa chính chưa tồn tại (khi thêm bên khóa ngoại kiểm tra trong khóa chính)
Khóa chính Rỗng Học bổng từ 0 đến 1,000,000
If IsNull( Tên Khóa chính) Then
MsgBox “Khóa chính rỗng”,16, “rỗng”
Me.khố chính.SetFocus
Exit sub
End if
Docmd.RunCommand ac CmdSaveRecord
Ví dụ:
If IsNull(Masv) Then
MsgBox “ Khóa chính rỗng”, 16, “rỗng”
If Hocbong<0 or Hocbong>1000000 Then
Msgbox “ Học bổng từ 0 đến 1tr”,16,”rỗng”
Me.Hocbong.SetFocus
Exit sub
End if
Kiểm tra kiểu dữ liệu:
Private sub Form_Error( DataErr As Integer,
Response As Integer)
Response=0
Trang 7
Baøi giaûng Access 1

Me.Masv.SetFocus
Exit sub
End if
Docmd.Runcommand ac CmdSaveRecord
If DataErr=2113 Then
MsgBox “Học bổng phải l kiểu
số”,16,”chú ý”
End if
End Sub
Thiết kế ListBox
 Chọn List box -> vẽ ra mặt bằng form
 Vào thuộc tính của List box
Name: Tên của List Box
Row Source Type: Table/Query (Kiểu của
list box)
Row Source: (…) chọn dữ liệu cho List box
Column Count: số cột hiển thị trong list
Column Head: Yes/No (tiêu đề)
Column Width: độ rộng tương ứng của cột,
cột nào không hiển thị cho độ rộng =0
Bound Column: vị trí cột liên kết (1)
ListCount: Đếm tổng dòng trong List
TênList.ListCount – 1(khi có tiêu đề)
Ví dụ:
Tổng khoa=Listkh.ListCount – 1
Truyền tham số cho TextBox
TênList.Column(vị trí cột) ->cột đầu =0
Ví dụ: List4.Column(1)
-hiển thị thông tin của cột thứ 2 trong List
Đồng bộ dữ liệu List Box với Form

B1: Event/ OnClick của ListBox
Me.khóa chính.SetFocus
Docmd.FindRecord Me.TênListbox.Value
 Ví dụ:
 Me.Masv.SetFocus
 Docmd.FindRecord Me.
List4.Value
B2: Event/ On Current của Form
Me.ListBox=Me.khóa chính
Ví dụ:
Me.List4=Me.Masv
Trang 8
Baøi giaûng Access 1
B1: Thiết kế Form như mẫu –dữ liệu lấy từ
SINHVIEN
B2: Tạo List Box –vào thuộc tính (F4)
- Name: ListSV
- Row Sounce type: Table/Query
- Row Sounce: nhấp vào (…)-vào giống như
Query –lấy dữ liệu cho List Box
- Đóng lại và chọn Yes
- Column Count: 4
- Column widths: 1’
- Bound column: 1
- Column Heads: Yes
B3: Makhoa –combo box
-Tạo giống như List Box nhưng cho độ rộng
cột thứ 2 bằng 0
B4: Tên khoa
C1:Dlookup(“Tenkhoa”,”khoa”,”makhoa=’

” & makh & “’”)
C2: Makh.column(1)
B5: Tạo một Option Group bên trong là 2
Togle bottom
-Option value: -1 (bên Nam)
-Option value: 0 (bên nữ)
- Control sounce: Phai (Fram)
Trang 9
Baøi giaûng Access 1
Khi nhấn vào một mẫu tin trên List Box thì trên Form chạy đến mẫu tin đó
Do đó chúng ta phải đồng bộ dữ liệu cho Form và List bằng cách làm 2 việc
Private Sub Form_Current()

Me.ListSV = Me.MASV
End Sub
Private Sub Listsv_Click()
Me.MASV.SetFocus
If Not IsNull(MASV) Then
DoCmd.FindRecord Me.ListSV.Value
End If
Me.ListSV.Requery ‘cập nhật lại List
End Sub
Combo Box
Dùng Winzard thiết kế
 Kiểm tra lại thuộc tính của Combo box
Name:Cbkhoa(đặt tên)
Control Source: Trường liên kết
Row Source Type: Table/Query
Column Count: số cột hiển thị (2)
Column Width: độ rộng cột(để ẩn đi một

cột ta cho độ rộng của cột đó= 0)
 Truyền tham số cho TextBox
(để hiển thị dữ liệu trong combo ra
ngoài)
= Tên Combo box.Column(cột)
Vidu:
=Cbkhoa.column(1) ->hiển thị tên khoa trong
combo box
1) Click Phải/ Chang To/ Combo Box
2) Thiết lập lại thuộc tính:
 Row Source Type:
 Row Source
 Column Count
 Column Width
III) Kiểm tra gi trị tồn tại trong Combo Box
Trang 10
Baøi giaûng Access 1
• Thuộc tính: Data/ Limit To List : Yes
• Event: On Not In List
Response=0
MsgBox “ Gi trị nay khong ton tai”,16,”loi”
1) Ví dụ 1:
 FA8(Combo Box Makh)
 Change To/ Combo Box
 Thuộc tính: All
 Row Source Type: Table/Query
 Row Source: DMKH
 Column Count: 2
 Column Width: 1;0 (ẩn đi cột tên khoa)
2) Ví dụ 2:

 FA9(Combo box sotiet)
 Change To/ Combo Box
 Thuộc tính : All
 Row source: Value List
 Row Source: 30;45;60
 Column Count : 1
 Column Width: 1
Ví dụ: phái lá một Combo Box hiển thị 2 gi trị Nam; Nu
Kích chuột phải lên combo box
Change To/ Combo Box
Thuộc tính: All
Row source Type Value List
Row Source: -1;”Nam”;0;”Nu”
Column Count: 2
Column Width: 0
I) Thiết lập:
1) Vẽ Option Group
2) Thuộc tính: Control Source: Field lưu trữ
3) Vẽ Option button hoặc Check Box
4) Thuộc tính Option Value cho option button vá check Box
II) Ví dụ:
1) Option Group: Control Source: Phai
2) Option Button Nam: Option Value: -1
3) Option Button Nu: Option Value: 0
I) Thiết kế:
1) Vẽ Tabcontrol
2) thao tác trên TabControl
Nhấp phải một trang bất kỳ
Delete Page: Xóa trang
Insert Page: Thêm một trang

Properties:
Format: Caption Liệt kê tên hiển thị của trang
Ch ý: Trang đầu tin của Tab tính là một
3) Thiết lập nguồn dữ liệu từng trang của Tab
Có thể nguồn dữ liệu từ Form
Có thể l một ListBox
Có thể l Sub
Trang 11
Baøi giaûng Access 1
Đồng bộ dữ liệu giữa các trang của TabControl:
 Nhấp đôi lên Tab
Other/ Name: Tabsv(đặt tên cho Tab)
Event: On Change
If TenTab=0(List ở trang đầu) Then
Me.ListBox= Me.Khố chính
Else
Me.Khóa chính.SetFocus
If Not IsNull(Me.list) Then Docmd.FindRecord Me.List.Value
End if
 Ví dụ:
If Tabkh= 0 Then
Me.List4 = Me.Makh
Else
Me.Makh.SetFocus
If Not IsNull(Me.List4) Then Docmd.FindRecord Me.List4.Value
End if
1) New/ Design View/ Ok
2) Ấn F4
Format:
Default View: DataSheet

Navigation Button: No
Data:
Record Source: (…) Click chọn Table tạo Sub Form, Chọn các trường
(Tất cả các trường trên Form chính+Các trường cần thiếu trên Sub
phụ)/ Đóng/ Yes Kéo thả Field List Xuống Detail
3) Nhấp phải/ Form Head/ Footer: Kéo trường liên kết giữa Main và Sub Lên Form
Head để ẩn đi.
Đồng bộ dữ liệu giữa ListBox v Sub
1) Khi chọn một dòng trên ListBox thì Sub sẽ hiển thị chi tiết( List lúc này đại diện
cho Main Form)
2) Khi đó ListBox và Sub phải có Trường liên kết với nhau theo dạng một - nhiều
3) Thiết lập lại thông số cho Sub
Link child Field: Tên trường liên kết của sub
Link Master Field: Tên List
Truyền tham số:
Tên Sub.Form!Tên TextBox
Bước 1: Vẽ TextBox ở Form Footer của Sub
Bước 2: Ấn F4
All: Name: Tong (đặt tên)
Control Source: =Sum(diem)
=sum(iif(phai=-1,1,0))
=Count(*)
Bước 4: Truyền
Tổng số điểm:=SubFb1.Form!tong
1) Kiểm tra khóa chính, kiểu dữ liệu
Khóa chính trùng
Trang 12
Baøi giaûng Access 1
Khóa chính rỗng
Lập trình trên sự kiện: On Error của Sub Form

Response=0
If DataErr=3022 Then
MsgBox “Trùng khố chính”,16,”trùng”
Elseif DataErr=3101 Then
MsgBox “Khóa chính rỗng”,16,”chú ý”
Kiểu dữ liệu phải l kiểu số:
If DataErr=2113 Then
MsgBox “Điểm phải l số”,16,”chú ý”
End if
Tên sinh viên không được rỗng
Tuổi từ 18 đến 70
Học bổng từ 0 đến 1,000,000
Lập trình trên sự kiện Before Update của sub Form
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Tensv) Then
MsgBox “ Tên sinh viên không được rỗng”,16,”rỗng”
Me.Tensv.SetFocus
Cancel=True
Elseif Year(Date())- Year(ngaysinh)<18 Or Year(Date())-Year(ngaysinh)>70 Then
MsgBox “Tuổi từ 18 đến 70”,16,”ch ý”
Me.ngaysinh.Setfocus
Cancel = True
Elseif Hocbong<0 or hocbong>1000000 Then
MsgBox “học bổng từ 0 đến 1,000,000”,16,”chú ý”
Me.Hocbong.Setfocus
Cancel = True
End if
End sub
Xóa trong Sub có hỏi người dùng
Lập trình trên Event/ On Delete và After Update Confirm

• On Delete
Docmd.SetWarnings False
If MsgBox(“bạn chắc xóa?”,36,”xóa”) = 7 Then
Cancel=True
End if
• After Delete Conform
Docmd.SetWarnings True
I) Màn hình tổng hợp:
1) Dạng 1: Gồm TabControl( Trang chứa List và trang chứa main) v Sub
 Khi đó đồng bộ dữ liệu khi di chuyển qua lại giữa các trang trên Tab và Sub
 Ta sử dụng một TextBox( Detail)
Name: LK
Control Source: iif(TenTab=0, List,khóa chính)
 Hiệu chỉnh lại thông số Sub
Link Child Field: như củ
Link Master Field: LK
ví dụ: FC2
Name: Makh
Trang 13
Baøi giaûng Access 1
Row Source: DMKH
Column Count: 2
Column Width: 0;1
On Click: Me.List4.Requery
3) ListBox:
Row Source:
Column Width: 0;1
Column Count: 2
Sub:
Trong Sub phải có chứa trường liên kết với List đó là Masv

• Link Child Field: Masv
• Link Master Field: List 4
Hoặc tạo ra textBox trung gian rồi liên kết
• Textbox= List4.Column(0)
• Link Child Field: Masv
• Link Master Field: Textbox
1) Thiết kế Form Main v 2 Sub:
2) Sub 1:
- Link Child Field: Makh
- Link Master Field: Makh( tên của Combo Box)
3) Tạo TextBox liên liết cho Sub 2
Vẽ Text Box trn Detail của Main/ F4
All:
- Name: LK
- Control Source: =TenSub1.Form!Ten trường liên kết giữa Sub1 v 2 ( ví dụ:
=Sub1.Form!Masv)
- Visibled: No (ẩn)
4) Sub 2:
- Link Child Field: Tên trường liên kết của 2 Sub (vd: Masv)
- Link Master Field: LK
Danh sách sinh viên:
Docmd.OpenReport “B1”, acViewPriview,, “Makh=Forms!FC3!Makh”
6) Bảng điểm:
Docmd.OpenReport “B1”,acViewPriview,, “Makh=Forms!FC3!Makh And
Masv=Forms!FC3!LK”
I) Thiết kế Report nhĩm:
1) Xác định kiểu Report nhóm: Srepped, OutLine 1
2) Tạo Query trung gian
3) Chú ý Report Luôn nhóm theo trường khóa chính
4) Report nhóm theo một cấp hoặc 2 cấp

5) Nếu khi tạo Report Wizard tách nhóm không đúng( How do you want to view your
Report) thì ta chọn dạng cuối để report trở về một nhóm. Rồi Next (Di you want to add any
rouping Levels). Khi này ta chọn trường tạo nhóm cho report(>) Next
6) Tính tổng theo nhóm cho report
7) Thiết kế lại report: đóng khung, hiệu chỉnh vị trí, đánh số thứ tự.
1) In Report khơng lọc dữ liệu:
 Docmd.OpenReport “ Tn Report”, acViewPriview
 Ví dụ: Form FA12( danh sách sinh viên theo khoa)
2) In Report với điều liện lọc dữ liệu
 Docmd.OpenReport “Tn Report”,,acViewPriview,, “điều kiện lọc”
 Ví dụ:
Trang 14
Baøi giaûng Access 1
 Docmd.OpenReport “B2”,acViewPriview,,”MAsv=Forms!FA12!
Masv”
Trang 15

×