Đánh giá chủ đề:
  • 4 Votes - 3.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tùy biến chọn file Excel để Import vào Access
#1
Chú ý, để sử dụng được các đối tượng có sẵn của Office, bạn phải khai báo sữ dụng thư viện Office bằng cách vào cửa sổ VBA, Menu Tool--> references, chọn Microsoft Office 11.0 library. (chọn 10.0 đối với AccessXP)




Và bây giờ bắt đầu:

Tạo 1 form tên là frmTest
Vẽ 1 Textbox tên là txtPath.
Vẽ 1 nút nhấn là cmdSelectfile
Vẽ 1 textBox đặt là txtRange để bạn nhập tên sheet muốn import vào
Vẽ 1 Textbox đặt tên là txtTable để bạn nhập tên Table muốn lưu
Vẽ 1 nút nhấn có tên cmdImport
Tạo 1 module copy đoạn code sau vào:

Mã:
Function getFile(Tit As String, formatName As String, formatType As String)
    Dim dlgOpen As FileDialog
    Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
    With dlgOpen
    .Title = Tit
    .Filters.Clear
    .Filters.Add formatName, formatType
    .AllowMultiSelect = False
    result = .Show
    If (result <> 0) Then
    getFile = Trim(dlgOpen.SelectedItems.Item(1))
    End If
    End With

    End Function

Và lưu thành tên Module 1
Trong event Onclick của nút cmdSelectfile, ta nhập như sau:
Mã:
Private Sub cmdSelectfile_Click()
    Me![txtPath] = getFile("c:\", "Select the Excel File", "*.xls")
    End Sub

Trong event Click của nút cmdImport, ta nhập như sau:

Mã:
Private Sub cmdImport_Click()

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, txtTenTable, txtPath, True, txtRange
    MsgBox "import thanh cong"
    End Sub

Giờ sử dụng: đầu tiên ta click vào nút cmdSelectfile để chọn file Excel muốn import
Nhập tên Sheet muốn import vào txtRange (ví dụ: Sheet1!:A1:H300)
Nhập tên table muốn lưu. (Ví dụ: Table1)
Và nhấn Nút Import
Rồi hưởng thành quả

DownloadDemo
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#2
Bác Noname ơi có ví dụ nào nhập liệu từ 1 dòng dữ liệu cuối của data sheet excel (hoặc chọn được dòng thì càng tốt) vào các textbox nhập liệu của form access (bằng 1 Macro nút lệnh chọn file excel và dòng dữ liệu) các bác nào đã làm qua vụ này chỉ giáo cho em với vì em gà mờ cả excel và access.Cry_smile
Chữ ký của heroic Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#3
(02-01-11, 02:02 PM)heroic Đã viết: Bác Noname ơi có ví dụ nào nhập liệu từ 1 dòng dữ liệu cuối của data sheet excel (hoặc chọn được dòng thì càng tốt) vào các textbox nhập liệu của form access (bằng 1 Macro nút lệnh chọn file excel và dòng dữ liệu) các bác nào đã làm qua vụ này chỉ giáo cho em với vì em gà mờ cả excel và access.Cry_smile

Kể cả pro excel và access cũng chưa nghe nói tới! Về lý thuyết thì làm được, nhưng công sức bỏ ra quá nhiều so với thành quả thu được!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
(02-01-11, 02:02 PM)heroic Đã viết: Bác Noname ơi có ví dụ nào nhập liệu từ 1 dòng dữ liệu cuối của data sheet excel (hoặc chọn được dòng thì càng tốt) vào các textbox nhập liệu của form access (bằng 1 Macro nút lệnh chọn file excel và dòng dữ liệu) các bác nào đã làm qua vụ này chỉ giáo cho em với vì em gà mờ cả excel và access.Cry_smile

Nếu đơn thuần nhập dòng cuối cùng của file Excel ta có thể dùng Query đại loại như sau:

Mã PHP:
Select Top 1 from Table ....
Order by .... Desc

Sau đó dùng kết quả này đưa vào bảng mong muốn.
Dù làm gì thì cũng phải có dữ liệu để test.

Chữ ký của domfootwear Xin 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) ღღღღღ
Reply
Những người đã cảm ơn Noname
#5
code ngan gon ma hieu qua, thanks chu thoiTongue_smile
Chữ ký của ducadi Xin chào, mình là ducadi, Tham gia http://thuthuataccess.com/forum từ ngày 17-11 -11.
Reply
Những người đã cảm ơn
#6
mình dùng theo cách này, khi mình gán 1 1 biến như:
txttentable =" T_sinhvien " thì nó không chèn trực tiếp vào table có sẵn mà lại ra 1 cái table khác giống nó ví dụ : Table trong access : T_sinhvien, khi thực hiện import thì nó lại sinh thêm Table : _T_Sinhvien và nó không import vào T_sinhvien???????? mình biết là có khoảng trắng nên thế, nhưng tại sao nó ko insert vào được table T_sinhvien nhỉ???mọi người giúp mình đi

tải file text
Chữ ký của xiketuan Xin chào, mình là xiketuan, Tham gia http://thuthuataccess.com/forum từ ngày 22-12 -11.
Reply
Những người đã cảm ơn
#7
(23-12-11, 10:30 PM)xiketuan Đã viết: mình dùng theo cách này nhưng tại sao nó không chèn trực tiếp vào table có sẵn mà lại ra 1 cái table khác giống nó ví dụ : Table trong access : T_sinhvien, khi thực hiện import thì nó lại sinh thêm Table : _T_Sinhvien và nó không import vào T_sinhvien???????? mọi người giúp mình đi

Vì trong file Access của bạn đã tồn tại tên table đó! Bạn có 2 lựa chọn. 1 là bỏ table cũ đi, import table mới. 2 là dùng code append table mới vào table cũ.
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan
#8
bác "Noname" ơi có cách nào để mở một file excel bất kỳ, có tên sheet bất kỳ(ý là không phải nhập tên sheet vào txtRange không?
hãy giúp đỡ tôi với
Chữ ký của nvk_hy Xin chào, mình là nvk_hy, Tham gia http://thuthuataccess.com/forum từ ngày 27-12 -11.
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
  Cài đặt ODBC -nền tảng kết nối Access và nguồn dữ liệu khác Noname 33 19,310 01-12-16, 06:49 PM
Bài mới nhất: atula77
  Xây dựng Class Modules trong Access ( Cơ bản đến Nâng cao) maidinhdan 2 183 13-11-16, 05:32 PM
Bài mới nhất: cpucloi
  Hướng Dẫn Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được maidinhdan 18 2,790 20-10-16, 11:51 AM
Bài mới nhất: jeck09nt
  Ms Access VBA và Google drive, một vài ý tưởng trong chia sẻ và đồng bộ số liệu... paulsteigel 46 3,857 07-10-16, 02:43 PM
Bài mới nhất: kieu manh
  Ứng dụng đổi tên file trong windows hàng loạt tranthanhan1962 7 1,212 19-09-16, 04:16 PM
Bài mới nhất: maidinhdan

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ơ