Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

30/11/09

Tự động tạo CSDL Access bằng VBA

Hôm trước tôi giới thiệu các bạn cách tạo 1 file MDB mớiđể xuất dữ liệu ra đó. Hôm nay xin giới thiệu các bạn cách tạo 1 file Access mới hoàn toàn, đồng thời thông qua VBA để tạo table cùng các field trực tiếp trên đó!


Ví dụ sau đây tạo một database có tên KeToan.MDB trong thư mục chứa database hiện hành, đồng thời tạo luôn một table có tên tbChungTu có cấu trúc:
Ngay_ChungTu (Date/Time), So_ChungTu (AutoNumber), Dien_Giai (Text, 30), Ho_Ten (Text, 25), So_Tien (Currency), Ghi_Chu (Memo)
Bạn hãy tạo một CSDL mới, thiết kế một form và vẽ nút lệnh có tên cmdCreateMDB, rồi gõ đoạn mã 1 vào thủ tục xử lý tình huống OnClick của nút lệnh đó. Xong, bạn mở form, thử bấm nút lệnh cmdCreateMDB để kiểm tra kết quả.

Private Sub cmdCreateMDB_Click()
Dim dbKeToan As Database
' Khai báo đối tượng Database mới
Dim tdfChungTu As TableDef' Khai báo đối tượng Table mới
Dim sAppPath As String
sAppPath = Me.Application.CurrentProject.Path
Set wrkDefault = DBEngine.Workspaces(0)
If Not (Dir(sAppPath & "\KeToan.mdb") <>"") Then
Set dbKeToan = wrkDefault.CreateDatabase(sAppPath & "\KeToan.mdb", dbLangGeneral)
Else
Set dbKeToan = OpenDatabase(sAppPath & "\KeToan.mdb")
End If
' Tạo đối tượng TableDef mới
Set tdfChungTu = dbKeToan.CreateTableDef("tbChungTu")
' Thêm các field
tdfChungTu.Fields.Append tdfChungTu.CreateField("Ngay_ChungTu", dbDate)
tdfChungTu.Fields.Append tdfChungTu.CreateField("So_ChungTu", dbLong)
tdfChungTu.Fields.Append tdfChungTu.CreateField("Dien_Giai", dbText, 30)
tdfChungTu.Fields.Append tdfChungTu.CreateField("Ho_Ten", dbText, 25)
tdfChungTu.Fields.Append tdfChungTu.CreateField("So_Tien", dbCurrency)
tdfChungTu.Fields.Append tdfChungTu.CreateField("Ghi_Chu", dbMemo)
' Các thuộc tính bổ sung
tdfChungTu.Fields!So_ChungTu.Attributes = dbAutoIncrField
' Thêm table mới vào database
dbKeToan.TableDefs.Append tdfChungTu
' Đóng database
dbKeToan.Close
End Sub

4 nhận xét:

  1. Nặc danh11:34 25/5/12

    Phần mềm MSchool(Quản lý điểm và xét tốt nghiệp THCS theo TT58 - thông tư áp dụng học kỳ 2 năm học 2011-2012
    Phần mềm MSchool(Quản lý điểm và xét hoàn thành CTTH theo TT32 - thông tư áp dụng học kỳ 2 năm học 2010-2011
    http://www.mediafire.com/myfiles.php

    Trả lờiXóa
  2. Tôi có 1 tệp chạy, và 1 tệp data1,và 1 tệp data chứa các bảng chưa có số liệu. Tôi muốn khi mở sổ mới thì chương trình copy tệp data chưa có số liệu làm data2 và kết nối với data này. Bàng vba thì làm sao xin cao thủ chỉ giáo giúp ạ.

    Trả lờiXóa
  3. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa
  4. Email của mình là truongminhmenh295@gmail.com

    Trả lờiXóa

» Hãy để lại tên, email của bạn khi bạn post comment, để mình có thể dễ dàng trả lời comment của bạn khi cần.
» Có thể sử dụng các thẻ < b>,< i>,< a>. Và các icon thông dụng trên YM