1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Lập trình VBA lập trình cơ sở dữ liệu

37 523 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Bài giảng: Lập trình VBA Chương 2: LẬP TRÌNH CƠ SỞ DỮ LIỆU

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • 3.Đối tượng Database

  • Slide 10

  • 4. Đối tượng RecordSet

  • Slide 12

  • Slide 13

  • Slide 14

  • 5. Một số phương thức của Recordset

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

  • Slide 21

  • Slide 22

  • 6. Đối tượng QueryDef

  • Slide 24

  • Slide 25

  • Slide 26

  • 7. Đối tượng TableDef

  • Slide 28

  • Slide 29

  • Slide 30

  • Slide 31

  • Slide 32

  • Slide 33

  • Slide 34

  • Slide 35

  • 8. Đối tượng Relation

  • Slide 37

Nội dung

http://www.vts.edu.vn Tìm hiểểu vểề kỹỹ thuậật DAO  DAO (Data Access Objects – Các đốối tượận g truỹ xuậốt dưỹ liểậu ) tậập hợập bao gốềm lợốp đốối tượận g có thểể dùng đểể lậập trình truỹ cậập xưể lý dưỹ liểậu hểậ CSDL Ởể đậỹ CSDL Access, ngốn ngưỹ lậập trình VBA http://www.vts.edu.vn    Đểể naập thư viểận DAO3.6 vào làm viểậc , hãỹ thưậc hiểận sau: Bượốc 1: Mợể cưểa sốể lậập trình VBA; Bượốc 2: Choận thưậc đợn Tools | References Hốập thoaậi sau xuậốt hiểận : http://www.vts.edu.vn Lợốp đốối tượận g DAO Cậỹ phận cậốp lợốp đốối tượận g DAO đượậc thểể hiểận sau: Workspaces Databases RecordSets QueryDefs TableDefs Relations http://www.vts.edu.vn Trong đó:  Workspaces – điận h nghĩa tậập hợập vùng làm viểậc  Databases - điận h nghĩa tậập hợập CSDL Access cậền làm viểậc mốật dưậ án;  RecordSets- điận h nghĩa tậập hợập baển ghi (Records) cậền làm viểậc ;  QuerỹDefs - điận h nghĩa tậập hợập Querỹ đểể làm viểậc Querỹdefs  Recordsets khaể truỹ xuậốt , xưể lý dưỹ liểậu (Data Manipulation) cuểa  DAO; http://www.vts.edu.vn TableDefs - điận h nghĩa tậập hợập baển g (Table) cậền làm viểậc Đậỹ khaể điận h nghĩ dưỹ liểậu (Data-Definition Language);  Relations - điận h nghĩa tậập hợập quan hểậ (Relationship) cậền làm viểậc ; - Databases seỹ bao gốềm tậốt caể CSDL đượậc mợể vùng làm viểậc hiểận taậi ; - RecordSets seỹ bao gốềm tậập hợập tậốt caể Recordset đượậc mợể CSDL hiểận taậi  http://www.vts.edu.vn Ví duậ sau liểật kể tển cuểa tậốt caể Recordset sưể duận g CSDL db Dim db As DAO.Database 'các cậu lểận h tiểốp theo ợể đậỹ ' For i = To db.Recordsets.Count MsgBox db.Recordsets(i).Name Next  http://www.vts.edu.vn   Đểể làm viểậc tợối mốật đốối tượận g cuậ thểể, cậền phaểi tham chiểốu tưề lợốp đốối tượận g meậ cuểa Ví duậ: Đểể hiểển thiậ giá triậ cuểa trượền g (Field) hoten tậập hợập baển ghi (Recordset) rs1 làm sau: MsgBox rs1.Fields("hoten").Value ' hoăậc MsgBox rs1.Fields![hoten].Value http://www.vts.edu.vn Database đốối tượận g dùng làm viểậc vợối mốật CSDL (trong trượền g hợập nàỹ có thểể hiểểu mốật CSDL mốật tểập Access MDB) Khai báo  Dim db As DAO.Database ' Gán db cho mốật CSDL cuậ thểể Set db = OpenDatabase(“C:\Baitap\qlbh.ACCDB”) 'Đăậc biểật , lểận h gán db cho CSDL hiểận taậi sau: Set db = CurrentDb  http://www.vts.edu.vn   Khi khống làm viểậc vợối CSDL đó, có thểể lểận h đóng đểể giaểi phóngd bốậ nhợố băền g cách: db.Close Sau lểận h nàỹ thưậc thi, tậốt caể đốối tượận g cuểa db nểốu mợể seỹ đượậc đóng laậi đểể giaểi phóng bốậ nhợố Baển thận db đượậc giaểi phóng bốậ nhợố (băền g Nothing), tậốt nhiển tểập CSDL dưỹ liểậu vậỹn nguỹển đĩa http://www.vts.edu.vn  Đốối tượận g Querỹdef dùng đểể tham chiểốu tợối Querỹ có săỹn (Buil-in) CSDL Access, hoăậc có thểể lậập trình taậo Querỹ tưề cậu lểận h SQL http://www.vts.edu.vn  Đểể taậo kích hoaật mốật querỹ VBA băền g cách thưậc thi cậu lểận h SQL baận làm theo hượốn g dậỹn sau: 'Khai báo mốật biểốn kiểểu Database mốật biểốn kiểểu QuerỹDef Dim db As DAO.Database Dim qr As DAO.QuerỹDef 'Ra lểận h taậo mốật Querỹ mợối , có tển rốỹn g (chiể ợể bốậ nhợố) Set qr = db.CreateQuerỹDef ( ) 'Gán chuốỹi lểận h SQL vào thuốậc tính SQL cuểa querỹ qr.SQL = " Gõ lểận h SQL cậền thi hành vào đậỹ " 'Ra lểận h thi hành querỹ qr.Execute 'giaểi phóng bốậ nhợố qr.Close http://www.vts.edu.vn  Ví duậ 1: Taậo DELETE querỹ đểể xoá danh sách nhưỹn g cán bốậ có tuốểi lợốn hợn 60 khoểi baển g NhanVien (cán bốậ nghiể hưu) Dim db As DAO.Database Dim qr As DAO.QuerỹDef Set db = CurrentDb Set qr = db.CreateQuerỹDef("") qr.SQL="DELETE * FROM NhanVien WHERE Year(Date())- Year(Ngaỹsinh)>=60" qr.Execute qr.Close http://www.vts.edu.vn  Ví duậ 2: Giaể sưể thểm mốật trượền g baển g QuaTrinhMucLuong có LuongToiThieu Taậo UPDATE querỹ đểể tính giá triậ trượền g nàỹ =830000 Dim db As DAO.Database Dim qr As DAO.QuerỹDef Set db = CurrentDb Set qr = db.CreateQuerỹDef("") qr.SQL = "UPDATE QuaTrinhMucLuong QuaTrinhMucLuong.LuongToiThieu 830000" qr.Execute qr.Close http://www.vts.edu.vn mợối tển cho SET =  Đốối tượận g TableDef đượậc dùng đểể tham chiểốu tợối baển g dưỹ liểậu (Table) CSDL http://www.vts.edu.vn 7.1 Mốật sốố thuốậc tính quan troận g cuểa TableDef  Thuốậc tính Name: Cho biểốt tển baển g đượậc gán vào biểốn kiểểu TableDef  Thuốậc tính RecordCount: Cho biểốt tốển g sốố baển ghi hiểận có baển g đượậc gán bợểi biểốn TableDef  Thuốậc tính DateCreated: Cho biểốt thợềi gian taậo baển g đượậc gán vào biểển kiểểu TableDef  Thuốậc tính Fields: Đểể tham chiểốu tợối trượền g cuểa baển g http://www.vts.edu.vn  Ví duậ 1: Sub LietKeTenTruong(tenbang As String) Dim tbl As DAO.TableDef Set tbl = db.TableDefs(tenbang) For i = To tbl Fields.Count - MsgBox tbl.Fields(i).Name Next End Sub http://www.vts.edu.vn 7.2 Mốật sốố phượng thưốc cuểa TableDef a Phượng thưốc CreateTableDef  Đểể taậo mốật baển g mợối băền g VBA Cú pháp taậo baển g mợối sau: Set tbl = db CreateTableDef ( ) ‘ Các thuể tuậc taậo trượền g mợối cho baển g db.TableDefs.Append tbl http://www.vts.edu.vn b Phượng thưốc CreateField  Đểể taậo trượền g cho mốật baển g kiểểu TableDef Đểể thểm mốật trượền g mợối lển baển g, sưể duận g cú pháp sau: tbl.Fields.Append tbl CreateField (,,)  Trong đó: ◦ - tển trượềng mợối cậền taậo; ◦ - mốật tuỳ choận đểể khai báo kiểểu dưỹ liểậu cuểa trượềng cậền taậo Kiểểu  dưỹ liểậu đượậc khai báo theo hăền g sốố sau: http://www.vts.edu.vn          Giá triậ: Tượng ưốn g vợối kiểểu dbBoolean Boolean dbBỹte Bỹte dbChar Char dbCurrencỹ Currencỹ dbDate Date/Time dbDecimal Decimal dbDouble Double dbFloat Float http://www.vts.edu.vn         dbGUID GUID dbInteger Integer dbLong Long dbMemo Memo dbNumeric Numeric dbSingle Single dbText Text dbTime Time http://www.vts.edu.vn  Ví duậ 2: Sub TaoBangMoi() On Error GoTo Loi Dim tbl As DAO.TableDef Set tbl = db.CreateTableDef("NewTable") tbl.Fields.Append tbl.CreateField("ID", dbInteger) tbl.Fields.Append tbl.CreateField("Name", dbText) tbl.Fields.Append tbl.CreateField("Age", dbBỹte) tbl.Fields.Append tbl.CreateField("DateBirth", dbDate) tbl.Fields.Append tbl.CreateField("Comment", dbMemo) db.TableDefs.Append tbl Exit Sub http://www.vts.edu.vn Loi: If Err.Number = 3010 Then MsgBox "Đã tốền taậi baển g có tển " + tbl.Name End If End Sub http://www.vts.edu.vn  Đốối tượận g Relation dùng đểể taậo kểốt nốối (RelationShip) giưỹa baển g CSDL Access http://www.vts.edu.vn Sub CreatRelationShip() On Error GoTo Loi Dim db As DAO.Database Dim rls As DAO.Relation Set db = CurrentDb Set rls = db.CreateRelation ("TaoQuanHe", “NhanVien", “NgaỹCong", dbRelationUpdateCascade) rls.Fields.Append rls.CreateField(“MaNV") rls.Fields(“MaNV").ForeignName = “NhanVien" db.Relations.Append rls Loi: If Err.Number = 3012 Then MsgBox "Đã tốền taậi quan hểậ nàỹ !" End If End Sub http://www.vts.edu.vn [...]... Sub  http://www.vts.edu.vn  Đốối tượận g Querỹdef dùng đểể tham chiểốu tợối các Querỹ có săỹn (Buil-in) trển CSDL Access, hoăậc cũng có thểể lậập trình taậo các Querỹ tưề các cậu lểận h SQL http://www.vts.edu.vn  Đểể taậo và kích hoaật mốật querỹ trển VBA băền g cách thưậc thi cậu lểận h SQL baận làm theo hượốn g dậỹn sau: 'Khai báo mốật biểốn kiểểu Database và mốật biểốn kiểểu QuerỹDef Dim db As... For i = 0 To tbl Fields.Count - 1 MsgBox tbl.Fields(i).Name Next End Sub http://www.vts.edu.vn 7.2 Mốật sốố phượng thưốc cuểa TableDef a Phượng thưốc CreateTableDef  Đểể taậo ra mốật baển g mợối băền g VBA Cú pháp taậo baển g mợối như sau: Set tbl = db CreateTableDef ( ) ‘ Các thuể tuậc taậo trượền g mợối cho baển g db.TableDefs.Append tbl http://www.vts.edu.vn b Phượng thưốc CreateField ... hợập bao gốềm lợốp đốối tượận g có thểể dùng đểể lậập trình truỹ cậập xưể lý dưỹ liểậu hểậ CSDL Ởể đậỹ CSDL Access, ngốn ngưỹ lậập trình VBA http://www.vts.edu.vn    Đểể naập thư viểận DAO3.6...  Đểể naập thư viểận DAO3.6 vào làm viểậc , hãỹ thưậc hiểận sau: Bượốc 1: Mợể cưểa sốể lậập trình VBA; Bượốc 2: Choận thưậc đợn Tools | References Hốập thoaậi sau xuậốt hiểận : http://www.vts.edu.vn... có săỹn (Buil-in) CSDL Access, hoăậc có thểể lậập trình taậo Querỹ tưề cậu lểận h SQL http://www.vts.edu.vn  Đểể taậo kích hoaật mốật querỹ VBA băền g cách thưậc thi cậu lểận h SQL baận làm

Ngày đăng: 06/12/2015, 05:37

TỪ KHÓA LIÊN QUAN

w