Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Xin hỏi 1 lỗi khi dùng CommonDialog: Runtime error 438
#31
Mã:
For Each varFile In .SelectedItems
        Me.txtTapTin = varFile
Next

1/ Nó năm ở cái đoạn này nè. Trên form tạo một textbox có tên là txtTapTin để lưu nó
2/ Tạo một Command có tên là cmdImport rồi chép cái này

Mã:
Private Sub cmdImport_Click()
     Call ImExAc(Me.txtTapTin, "tblKhachHang", "DanhSach")
End Sub
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 uronmapu
#32
"DanhSach" là tên file excel à bác?

Nếu tên file excel của e đặt vô điều kiện thì thế nào ạ
Chữ ký của uronmapu Cảm ơn cả nhà

Để học Access không nên ngại đặt câu hỏi


Uron
Reply
Những người đã cảm ơn
#33
1/ Cái Me.txtTapTin trong khi gọi hàm chính là cái tên file Ex đó thui (bao gồm cả đường dẫn)
2/ Danh sach là tên Sheet chứa dữ liệu cần Import(Trong khi viết hàm tôi đã hướng dẫn rất cụ thể)
3/ Chịu khó đọc cho kỹ và tìm hỉu tại sao lại thế này mà không phải thế kia
4/ Nên học từ dễ đến khó, học đến đâu hành đến đó. Đừng "tham quá" mà "tẩu hỏa nhập ma". Bạn bây giờ đang ở trong tình trạng đó
Thâ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 uronmapu
#34
Em hỏi nhiều cũng nể và ngại các bác quá, nhưng e chẳng biết học ai và thực sự cũng ko hiểu nhiều sad
Em xin hỏi thêm bác Xuân Thanh 1 câu
Em tạo hàm ImExAc rồi, tạo lệnh gọi hàm tại nút Import rồi

Call ImExAc("tblContacts", Me.txtTapTin, "Sheet1")

tblContacts là bảng lưu dữ liệu của e, Sheet1 là sheet trong file excel chứa dữ liệu cần import

Khi nhấn browse và nhấn import thì lại ra lỗi sau
Run-time error '13': Type mismatch

tại dòng bên dưới của hàm ImExAc
Set Rs = CurrentDb.OpenRecordset(tblContacts, dbOpenTable)

Thêm nữa nếu người dùng mà nhập file excel có cái tên sheet khác Sheet1 như trong Call ImExAc thì thế nào ạ
Chữ ký của uronmapu Cảm ơn cả nhà

Để học Access không nên ngại đặt câu hỏi


Uron
Reply
Những người đã cảm ơn
#35
Không được sửa hàm. Chép nguyên cái hàm đó vào modul. Gọi hàm như sau
Call ImExAc("tblContacts",Me.txtTapTin,"Sheet1")
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 uronmapu
#36
Em không sửa đoạn nào cả, e chỉ sửa tblName của bác thành tblContacts

Vì bảng dữ liệu của e là tblContacts mà
Chữ ký của uronmapu Cảm ơn cả nhà

Để học Access không nên ngại đặt câu hỏi


Uron
Reply
Những người đã cảm ơn
#37
(07-07-12, 05:03 PM)uronmapu Đã viết: Em không sửa đoạn nào cả, e chỉ sửa tblName của bác thành tblContacts

Vì bảng dữ liệu của e là tblContacts mà

KHÔNG ĐƯỢC SỬA
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 uronmapu
#38
OK, e copy nguyên lại của bác đoạn code bên dưới rồi
Vẫn lỗi bác ạ
Run-time error '13': Type mismatch
tại dòng
Set Rs = CurrentDb.OpenRecordset(tblTabName, dbOpenTable)
Xin bác cho e thêm lời khuyên

Mã:
Function ImExAc(tblTabName As String, strFile As String, shSheet As String)
    'tblTabName la ten table can Import du lieu
    'strFile la ten duong dan den Workbook Ex co du lieu
    'shSheet la ten Sheet cua Workbook strFile chua du lieu
    'Sheet Ex co hang dau tien la hang tieu de(ten truong)
    Dim Ex As New Excel.Application
    Dim fileEx As Workbook
    Set fileEx = Ex.Workbooks.Open(strFile)
    Dim Ws As Worksheet
    Set Ws = fileEx.Worksheets(shSheet)
    Dim lfirstrow, lfirstcol, llastrow, llastcol As Long
    With Ws.UsedRange
        lfirstrow = .Row
        lfirstcol = .Column
        llastrow = .Rows(UBound(.Value)).Row
        llastcol = .Columns(UBound(.Value, 2)).Column
    End With
    Dim Rs As Recordset
    Set Rs = CurrentDb.OpenRecordset(tblTabName, dbOpenTable)
    Dim i As Long
    Dim j As Long
    For i = lfirstrow + 1 To llastrow
        Rs.AddNew
        For j = lfirstcol To llastcol
            Rs.Fields(j - lfirstcol) = Ws.Cells(i, j)
        Next
        Rs.Update
    Next
    fileEx.Close False
    Set Ex = Nothing: Rs.Close
End Function
Chữ ký của uronmapu Cảm ơn cả nhà

Để học Access không nên ngại đặt câu hỏi


Uron
Reply
Những người đã cảm ơn
#39
Thực tình nói vơi bạn khó quá. Bạn bị tẩu hỏa nhập ma rồi. Gưi file lên xem sao
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
#40
Xin bác giúp em...

username/password : admin/admin


File đính kèm
.zip   HelpMe07072012.zip (Kích cỡ: 94.33 KB / Tải về: 4)
Chữ ký của uronmapu Cảm ơn cả nhà

Để học Access không nên ngại đặt câu hỏi


Uron
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ạo Menu dạng TreeView bằng Query (không dùng ActiveX) ongke0711 4 250 4 Giờ trước
Bài mới nhất: toancvp
  [Hỏi] Làm sao để ấn định Null cho trường Date khi sử dụng Class Module Minh Tiên 8 614 18-11-16, 09:29 AM
Bài mới nhất: MinhnHang
  [Help] Giúp đỡ về cách xóa nội dung trong một field nam8384 2 117 17-10-16, 08:43 PM
Bài mới nhất: toancvp
  [Hỏi] Sử dụng chuột giữa trong subform là report. toancvp 10 358 12-10-16, 01:01 AM
Bài mới nhất: toancvp
  [Help] Áp dụng query lọc dữ liệu nhập vào form amazonvn82 8 1,327 05-10-16, 03:11 PM
Bài mới nhất: amazonvn82

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ơ