Bình chọn: Ý kiến của bạn về thủ thuậtt này?
Bình chọn đã bị khoá.
Rất bổ ích 100.00% 6 100.00%
Tốt 0% 0 0%
Bình thường 0% 0 0%
Không có gì đặc sắc 0% 0 0%
Tổng cộng 6 bình chọn 100%
* Bạn đã bình chọn cho mục này. [Hiển thị kết quả]

 
Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
03-04-13, 03:19 PM (Được chỉnh sửa: 03-04-13 03:30 PM bởi Xuân Thanh.)
Bài viết: #1
Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
Hôm nay hướng dẫn câc bạn kỹ thuật dung DAO để nhập liệu từ một Database này vào một Database khác. Các bạn download file đính kèm về nghiên cứu. Chú ý cách chọn các DDL đi kèm theo(Trong cửa sổ VBA, vào menu Tools/References...). Tặng kèm cách xuất dũ liệu từ Database ra file Excel
File chưa dũ liệu là file Data.mdb, file dùng để cập nhật là file NhapLieu.mdb, file Danh sach.xls là file Excel để xuất dữ liệu
Chủ yếu nghiên cứu cái này
1/ Cập nhật dữ liệu từ Database Nhaplieu vào Database Data
Mã PHP:
Private Sub cmdCapNhat_Click()
    If 
Me.txtMaHang "" Or Me.txtTenHang "" Or Me.txtDVT "" Then
        MsgBox 
"Phai ghi du du lieu", , "Thong Bao"
        
Exit Sub
    End 
If
    
Dim Data As Database
    Dim rs 
As Recordset
    Set Data 
DBEngine.Workspaces(0).OpenDatabase(CurrentProject.Path "\Data.mdb")
    
Set rs Data.OpenRecordset("tblHangHoa"dbOpenTable)
    
rs.AddNew
    rs
.Fields(0) = Me.txtMaHang
    rs
.Fields(1) = Me.txtTenHang
    rs
.Fields(2) = Me.txtDVT
    rs
.Update
    rs
.Close
    Set Data 
Nothing
    MsgBox 
"Da cap nhat xong", , "Thong Bao"
    
Me.txtMaHang ""Me.txtTenHang ""
    
Me.txtDVT ""Me.txtMaHang.SetFocus
End Sub 

2/ Xuất ra Excel
Mã PHP:
Private Sub XuatEx_Click()
    
Dim Ex As Excel.Application
    Dim Wb 
As Workbook
    Dim Ws 
As Worksheet
    Dim rs 
As Recordset
    Set Ex 
= New Excel.Application
    Set Wb 
Ex.Workbooks.Open(CurrentProject.Path "\Danh sach.xls")
    
Set Ws Wb.Worksheets("Danh Sach")
    
Set rs CurrentDb.OpenRecordset("tblHangHoa"dbOpenTable)
    
    
Dim j As Integer
    j 
Ws.Range("A65000").End(xlUp).Row
    Ws
.Range("A" 1).CopyFromRecordset rs
'hoac lam nhu sau
    '
Dim i As IntegerAs Integer
    
'If rs.RecordCount > 0 Then
        '
rs.MoveFirst
        
'Do Until rs.EOF
            '
Ws.Range("A65000").End(xlUp).Row
            
'Ws.Range("A" & j + 1) = rs.Fields(0)
            '
Ws.Range("B" 1) = rs.Fields(1)
            
'Ws.Range("C" & j + 1) = rs.Fields(2)
            '
rs.MoveNext
        
'Loop
    '
End If

    
    
rs.CloseEx.Visible True
    Set Ex 
Nothing
End Sub 

Tư ví dụ này, các bạn có thể chế biến ra nhiều cách khác nhau tùy theo nhu cầu sủ dụng
Chúc các bạn vui
Thân mến


File đính kèm
.zip  Dung DAO nhap lieu.zip (Kích cỡ: 30.6 KB / Tải về: 136)

Chữ Ký của Xuân ThanhTră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) ღღღღღ
Trả lời
 Những người đã cảm ơn cpucloi , Noname
04-04-13, 09:59 PM
Bài viết: #2
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
Mình có form tìm kiếm, dữ liệu tìm được hiện trên listbox. Theo code của bạn Xuân Thanh thì xuất ra excel toàn bộ record trong table. Mình chỉ muốn xuất ra excel những record trên list box được không bạn?

Chữ Ký của changkhoonline77Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Trả lời
05-04-13, 09:04 AM (Được chỉnh sửa: 08-04-13 02:18 PM bởi Xuân Thanh.)
Bài viết: #3
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
(04-04-13 09:59 PM)changkhoonline77 Đã viết:  Mình có form tìm kiếm, dữ liệu tìm được hiện trên listbox. Theo code của bạn Xuân Thanh thì xuất ra excel toàn bộ record trong table. Mình chỉ muốn xuất ra excel những record trên list box được không bạn?

dữ liệu hiển thị trên listbox có nguồn là một query thế nên hoàn toàn có thể xuât đươc. Thay câu
Set rs = CurrentDb.OpenRecordset("tblHangHoa", dbOpenTable) bằng câu
Set rs = CurrentDb.OpenRecordset("Select * from tblHangHoa Where MaHang = " & Me.MaHang)
Bạn chế biến cho phù hợp
Thân mến

Chữ Ký của Xuân ThanhTră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) ღღღღღ
Trả lời
 Những người đã cảm ơn changkhoonline77
16-04-13, 04:51 PM
Bài viết: #4
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
Không được bạn ơi
Vì form tìm kiếm của mình nhiều điều kiện nên không lấy câu lệnh "MaHang = " & Me.MaHang" được
Nút chuyển nằm trong Form "Search". Đây là file Access (accdb) của mình, bạn xem giúp mình nha

http://www.mediafire.com/?dwzb321mli73628

Chữ Ký của changkhoonline77Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Trả lời
17-04-13, 10:41 AM
Bài viết: #5
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
(16-04-13 04:51 PM)changkhoonline77 Đã viết:  Không được bạn ơi
Vì form tìm kiếm của mình nhiều điều kiện nên không lấy câu lệnh "MaHang = " & Me.MaHang" được
Nút chuyển nằm trong Form "Search". Đây là file Access (accdb) của mình, bạn xem giúp mình nha

http://www.mediafire.com/?dwzb321mli73628

Thì bạn thay nguyên cái Record Source của form Search vào câu lệnh mở rs là đưiợc thôi mà
Thân mến

Chữ Ký của Xuân ThanhTră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) ღღღღღ
Trả lời
17-04-13, 02:49 PM
Bài viết: #6
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
(03-04-13 03:19 PM)Xuân Thanh Đã viết:  Hôm nay hướng dẫn câc bạn kỹ thuật dung DAO để nhập liệu từ một Database này vào một Database khác. Các bạn download file đính kèm về nghiên cứu. Chú ý cách chọn các DDL đi kèm theo(Trong cửa sổ VBA, vào menu Tools/References...). Tặng kèm cách xuất dũ liệu từ Database ra file Excel
File chưa dũ liệu là file Data.mdb, file dùng để cập nhật là file NhapLieu.mdb, file Danh sach.xls là file Excel để xuất dữ liệu
Chủ yếu nghiên cứu cái này
1/ Cập nhật dữ liệu từ Database Nhaplieu vào Database Data
Mã PHP:
Private Sub cmdCapNhat_Click()
    If 
Me.txtMaHang "" Or Me.txtTenHang "" Or Me.txtDVT "" Then
        MsgBox 
"Phai ghi du du lieu", , "Thong Bao"
        
Exit Sub
    End 
If
    
Dim Data As Database
    Dim rs 
As Recordset
    Set Data 
DBEngine.Workspaces(0).OpenDatabase(CurrentProject.Path "\Data.mdb")
    
Set rs Data.OpenRecordset("tblHangHoa"dbOpenTable)
    
rs.AddNew
    rs
.Fields(0) = Me.txtMaHang
    rs
.Fields(1) = Me.txtTenHang
    rs
.Fields(2) = Me.txtDVT
    rs
.Update
    rs
.Close
    Set Data 
Nothing
    MsgBox 
"Da cap nhat xong", , "Thong Bao"
    
Me.txtMaHang ""Me.txtTenHang ""
    
Me.txtDVT ""Me.txtMaHang.SetFocus
End Sub 

2/ Xuất ra Excel
Mã PHP:
Private Sub XuatEx_Click()
    
Dim Ex As Excel.Application
    Dim Wb 
As Workbook
    Dim Ws 
As Worksheet
    Dim rs 
As Recordset
    Set Ex 
= New Excel.Application
   
[color=#FF0000] Set Wb = Ex.Workbooks.Open(CurrentProject.Path & "\Danh sach.xls")[/color]
    
Set Ws Wb.Worksheets("Danh Sach")
    
Set rs CurrentDb.OpenRecordset("tblHangHoa"dbOpenTable)
    
    
Dim j As Integer
    j 
Ws.Range("A65000").End(xlUp).Row
    Ws
.Range("A" 1).CopyFromRecordset rs
'hoac lam nhu sau
    '
Dim i As IntegerAs Integer
    
'If rs.RecordCount > 0 Then
        '
rs.MoveFirst
        
'Do Until rs.EOF
            '
Ws.Range("A65000").End(xlUp).Row
            
'Ws.Range("A" & j + 1) = rs.Fields(0)
            '
Ws.Range("B" 1) = rs.Fields(1)
            
'Ws.Range("C" & j + 1) = rs.Fields(2)
            '
rs.MoveNext
        
'Loop
    '
End If

    
    
rs.CloseEx.Visible True
    Set Ex 
Nothing
End Sub 

Tư ví dụ này, các bạn có thể chế biến ra nhiều cách khác nhau tùy theo nhu cầu sủ dụng
Chúc các bạn vui
Thân mến
Thường thì người ta dùng file excel dạng temp. để làm form dữ liệu, điều này sẽ giữ được file gốc để tránh người dùng chỉnh sửa và lưu lên chính file form.

Chữ Ký của domfootwearXin chào Guest, nếu Guest biết thủ thuật nào thì nên chia sẻ cho cộng đồng nhé.
ღღღღღTài sản của domfootwear (View All Items) ღღღღღ
Trả lời
17-04-13, 03:15 PM
Bài viết: #7
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
(05-04-13 09:04 AM)Xuân Thanh Đã viết:  
(04-04-13 09:59 PM)changkhoonline77 Đã viết:  Mình có form tìm kiếm, dữ liệu tìm được hiện trên listbox. Theo code của bạn Xuân Thanh thì xuất ra excel toàn bộ record trong table. Mình chỉ muốn xuất ra excel những record trên list box được không bạn?

dữ liệu hiển thị trên listbox có nguồn là một query thế nên hoàn toàn có thể xuât đươc. Thay câu
Set rs = CurrentDb.OpenRecordset("tblHangHoa", dbOpenTable) bằng câu
Set rs = CurrentDb.OpenRecordset("Select * from tblHangHoa Where MaHang = " & Me.MaHang)
Bạn chế biến cho phù hợp
Thân mến

Thường thì người ta dùng file excel dạng temp. để làm form dữ liệu, điều này sẽ giữ được file gốc để tránh người dùng chỉnh sửa và lưu lên chính file form.

Chữ Ký của domfootwearXin chào Guest, nếu Guest biết thủ thuật nào thì nên chia sẻ cho cộng đồng nhé.
ღღღღღTài sản của domfootwear (View All Items) ღღღღღ
Trả lời
18-04-13, 12:56 PM
Bài viết: #8
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
[/quote]

Thì bạn thay nguyên cái Record Source của form Search vào câu lệnh mở rs là đưiợc thôi mà
Thân mến
[/quote]

Record source của form mình là table. Code tìm kiếm mình làm bằng code chứ hong phải query
Bạn xem file mình vs giúp mình code với

Chữ Ký của changkhoonline77Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Trả lời
18-04-13, 03:26 PM (Được chỉnh sửa: 18-04-13 03:29 PM bởi Xuân Thanh.)
Bài viết: #9
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
changkhoonline77 Đã viết:Record source của form mình là table. Code tìm kiếm mình làm bằng code chứ hong phải query
Bạn xem file mình vs giúp mình code với

Chuyển về Ac2003 đi, biếng làm 2007 lắm
Thân mến

(17-04-13 03:15 PM)domfootwear Đã viết:  Thường thì người ta dùng file excel dạng temp. để làm form dữ liệu, điều này sẽ giữ được file gốc để tránh người dùng chỉnh sửa và lưu lên chính file form.

Đúng là như thế. Ở đây chỉ mang tính hướng dẫn cơ bản thôi
Thân mến

Chữ Ký của Xuân ThanhTră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) ღღღღღ
Trả lời
18-04-13, 05:29 PM
Bài viết: #10
RE: Kỹ thuật dùng DAO để nhập liệu và xuất dũ liệu
Mình chuyển qua 2003 rồi. Bạn xem giúp mình nha. Ở form "search" có nút command300 đó

http://www.mediafire.com/?sow4c78hoayloia

Chữ Ký của changkhoonline77Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Trả lời

Tags: Kỹ, thuật, dùng, để, nhập, liệu, xuất,

Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Nhập ngày tháng thông qua Calendar Control Noname 12 2,946 25-06-14 11:27 AM
Bài mới nhất: connguoi123
  Nhập đường dẫn 1 file ảnh vào chương trình để lưu! Noname 24 7,224 15-05-14 01:18 AM
Bài mới nhất: lEEBINH
  [Hàm] Hàm tạo Mã (dùng cho Học Sinh, Sinh Viên, Cán Bộ, Hộ Khẩu....) Xuân Thanh 14 2,014 25-02-14 10:49 AM
Bài mới nhất: nguyendinhvinh0410
  Hàm đọc số dùng mã Unicode trong Access Noname 26 8,657 20-06-13 11:28 AM
Bài mới nhất: Xuân Thanh
  Hướng Dẫn Lỗi #Error xuất hiện khi báo cáo không có dữ liệu Mr_Access 1 531 09-06-13 03:24 PM
Bài mới nhất: cpucloi

Chuyển nhanh:


Thành viên đang đọc chủ đề: 1 Khách

Liên hệ | Thủ Thuật Access | Lên trên | Nội dung | Bản rút gọn | Tin RSS