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

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 1,79 MB

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