Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hàm] Import Table từ file Access này sang một file Access khác
#1
Để Import một table từ file Access này qua một file Access khác ta có nhiều cách thực hiện
1/ Dùng File/Get External Data/Import rồi chọn file ===> chọn table ===> OK
2/ Dùng Macro với Action là TransferDatabase
3/ Dùng câu lệnh Docmd.TransferDatabase acImport
Đó là những cách cơ bản nhất
Hôm nay giới thiệu với các bạn cách dùng hàm VBA để Import một table từ một Database Nguồn(DBNguon) sang một Database Đích(DBDich)
Cách thực hiện như sau
1/ Tạo một table trong DBDich có cấu trúc giống hệt như table trong DBNguon
2/ Trong cửa sổ VBA, vào Tools/Reference chọn
- Microsoft DAO 3.6 Object Libary
- Microsoft Ofice xx Library (xx tùy vào phiên bản Office trên máy của bạn)
3/ Trong Modul của DBDich, viết hai hàm như sau
3.1/ Hàm GetFile dùng để duyệt đến DBNguon
3.2/ Hàm ImportTable dùng để Import table từ DBNguon sang DBDich
4/ Tạo một form có tên là frmImportTable. Trên form bố trí 3 textbox gồm 1 textbox txtTenFile để chứa đường dẫn của DBNguon, 2 texbox txtTableNguon và txtTableDich để ghi tên Table cần Import và 2 Command Button cmdTimFile để mở Dialog chọn file DBNguon, cmdImport để hực hiện việc Import Table đã chọn
Các hàm viết trong Modul

Mã PHP:
Option Compare Database
Option Explicit

Function ImportTable(strNguon As StringstrTabNguon As StringstrTabDich As String)
    
Dim DBNguon As Database
    Dim DBDich 
As Database
    Dim rsNguon 
As Recordset
    Dim rsDich 
As Recordset
    Set DBNguon 
DBEngine.Workspaces(0).OpenDatabase(strNguon)
    
Set DBDich CurrentDb
    Set rsNguon 
DBNguon.OpenRecordset(strTabNguon)
    
Set rsDich DBDich.OpenRecordset(strTabDich)
    
Dim i As Integer
    
If rsNguon.RecordCount 0 Then
        rsNguon
.MoveFirst
        
Do Until rsNguon.EOF
            rsDich
.AddNew
            
For 0 To rsNguon.Fields.Count 1
               rsDich
.Fields(i) = rsNguon.Fields(i)
            
Next
            rsDich
.Update
            rsNguon
.MoveNext
        Loop
    End 
If
    
rsNguon.ClosersDich.CloseSet DBNguon NothingSet DBDich Nothing
End 
Function
Function 
GetFile(Tit As StringformatName As StringformatType As String)
    
Dim dlgOpen As FileDialog
    Dim result
    Set dlgOpen 
Application.FileDialog(msoFileDialogOpen)
    
With dlgOpen
        
.Title Tit
        
.Filters.Clear
        
.Filters.Add formatNameformatType
        
.AllowMultiSelect False
        result 
= .Show
        
If (result <> 0Then
            GetFile 
Trim(dlgOpen.SelectedItems.Item(1))
        
End If
    
End With
End 
Function 

Các sự kiện Click của 2 Command Button trên form

Mã PHP:
Option Compare Database
Option Explicit

Private Sub cmdTim_Click()
    
Me.txtTenFile GetFile("C:\", "Select File", "*.mdb,*.mde")
End Sub

Private Sub cmdImport_Click()
    Call ImportTable(Me.txtTenFile, Me.txtTableNguon, txtTableDich)
End Sub 

Chúc các bạn vui
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ttm20062008 , Noname , Minh Tiên
#2
Nếu file DBNguon.mdb có password = "abc123" thì mình phải làm sao mới copy được hả bác? Sẵn Bác cho hỏi là mình muốn copy một số mẫu tin từ file tblnguon của DBNguon (có password) sang file tblDich của DBDich (có password) thì phải làm như thế nào? nhờ bác chỉ giùm! Thank bác!
Chữ ký của ndthanh29 Xin chào, mình là ndthanh29, Tham gia http://thuthuataccess.com/forum từ ngày 08-10 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Tắt Security warning của Access Noname 3 5,682 24-09-17, 12:58 PM
Bài mới nhất: lehongduc
Lightbulb [Hỏi] Ghi lại mọi thay đổi diễn ra trong access toidjtjmtoi 2 157 19-09-17, 11:06 AM
Bài mới nhất: toidjtjmtoi
  [Thủ Thuật] Demo_Compact & Repaire nhiều file Back End maidinhdan 18 2,873 07-07-17, 07:35 PM
Bài mới nhất: ongke0711
  [Thủ Thuật] Table variables - Lưu các biến hệ thống vào bảng ongke0711 0 165 01-07-17, 04:35 AM
Bài mới nhất: ongke0711
  [Help] Hỏi về cách lưu dư liệu từ bảng vba vào file excell theo mong muốn HoangManh 5 371 19-05-17, 04:27 PM
Bài mới nhất: ongke0711

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ