Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thông báo lỗi "There in no object in this control"
#1
Các bạn cho mình hỏi; trước đây mình tạo một chức năng trên form để import dữ liệu từ Excel vào table thì nó
chạy bình thường, nhưng mình mới cài lại máy cũng sử dụng Office 2007 như trước, không biết sao giờ import
thì nó lại báo "There in no object in this control" khi mình cố tình lick OK thì nó báo tiếp Run-time error '438'
Object doesn't support this propety or method.
Mình có vào phần hỗ trợ VB để chọn thêm mục Microsoft office 12 object library, nhưng nó vẫn bị lỗi.
Nhờ các bạn hướng dẫn.
Chữ ký của anhemnhangu Xin chào, mình là anhemnhangu, Tham gia http://thuthuataccess.com/forum từ ngày 08-08 -13.
Reply
Những người đã cảm ơn
#2
(29-04-14, 10:16 PM)anhemnhangu Đã viết: Các bạn cho mình hỏi; trước đây mình tạo một chức năng trên form để import dữ liệu từ Excel vào table thì nó
chạy bình thường, nhưng mình mới cài lại máy cũng sử dụng Office 2007 như trước, không biết sao giờ import
thì nó lại báo "There in no object in this control" khi mình cố tình lick OK thì nó báo tiếp Run-time error '438'
Object doesn't support this propety or method.
Mình có vào phần hỗ trợ VB để chọn thêm mục Microsoft office 12 object library, nhưng nó vẫn bị lỗi.
Nhờ các bạn hướng dẫn.

Bạn chọn Microsoft office 14 object library or excel 14 đi
Chữ ký của bignosevinatex Xin chào, mình là bignosevinatex, Tham gia http://thuthuataccess.com/forum từ ngày 18-03 -13.
Reply
Những người đã cảm ơn
#3
Các bác cho mình hỏi; trước khi cài lại máy, chương trình mình chạy chức năng Import từ Excel vào Table của
access bình thường (Access2007). Nhưng bây giờ khi chạy chức năng này thì nó báo lỗi "There in no object in this control" mình bấm OK thì nó báo lỗi tiếp:
Run time error '438' Object doesn't support this property or method

mình bấm Debug thì nó báo lỗi tô màu vàng tại dòng .ShowOpen

Private Sub cmdTimTapTin_Click()
With dlgTimTapTin
.ShowOpen
txtTapTinExcel = .FileName
End With
End Sub

Private Sub cmdDocDuLieuTuExcel_Click()
On Error Resume Next
Dim sTenTable As String
sTenTable = "T_nhanvien"

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
sTenTable, txtTapTinExcel, True

MsgBox "Finished !!!"
DoCmd.RunMacro ("close_import_nhanvien")

End Sub

Các bác hướng xem dùm mình nó bị lỗi gì vậy, hay là do khâu cài máy không đầy bản full.
Chữ ký của anhemnhangu Xin chào, mình là anhemnhangu, Tham gia http://thuthuataccess.com/forum từ ngày 08-08 -13.
Reply
Những người đã cảm ơn
#4
Ở Acc office2007 bạn hãy đổi câu .ShowOpen thành .Show là OK !
Chúc bạn thành công !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn anhemnhangu
#5
[quote='tmtien261' pid='22652' dateline='1399122211']
Ở Acc office2007 bạn hãy đổi câu .ShowOpen thành .Show là OK !
Chúc bạn thành công !
--------------------
Cám ơn bạn tmtien261, mình đã làm theo bạn nhưng nó vẫn báo lỗi tô màu vàng dòng .Show
mình gửi file đính kèm, các bạn xem giúp mình.
http://www.mediafire.com/download/ie2x5b...-+Copy.rar
Chữ ký của anhemnhangu Xin chào, mình là anhemnhangu, Tham gia http://thuthuataccess.com/forum từ ngày 08-08 -13.
Reply
Những người đã cảm ơn
#6
Chọn thiếu Dialog Controls nên báo lỗi(không có lấy đâu ra Open). Chọn lại là Ok
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 anhemnhangu
#7
Anh Xuân Thanh ơi cho em hỏi tí; Dialog Control có phải lấy từ trong VB mục Tools->References, sao em tìm
không thấy Dialog Control trong thẻ này, hay là mình phải khai báo khi viết Code? em chưa biết nhiều về code.
Em có gửi file đính kèm trên, anh Xuân Thanh hướng dẫn em chi tiết thêm.
Cám ơn anh,
Chữ ký của anhemnhangu Xin chào, mình là anhemnhangu, Tham gia http://thuthuataccess.com/forum từ ngày 08-08 -13.
Reply
Những người đã cảm ơn
#8
Mình đã xem File bạn gửi rồi. Bạn hãy sửa theo đoạn code sau nhé:
Mã:
Private Sub cmdTimTapTin_Click()
Dim dlgTimTapTin As Office.FileDialog
Set dlgTimTapTin = Application.FileDialog(msoFileDialogFilePicker)
With dlgTimTapTin
.Show
txtTapTinExcel = .InitialFileName
'duong dan den Thu Muc chua tap tin
End With
End Sub
Sẽ OK !
Bạn tùy chọn hiển thị đến Thư mục của bạn bằng cách thay đổi dòng txtTapTinExcel = .InitialFileName nhé !
Chúc bạn thành công !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn anhemnhangu
#9
Chương trình chưa chạy được anh Tmtien261 ơi, em đã sửa đoạn code giống như anh hướng dẫn, khi em chọn
đường dẫn đến thư mục chứa file cần import thì nó không hiện lên đường dẫn thư mục chứa file, nó chỉ hiện lên ổ E: em ấn lệnh thực hiện thì nó không import.
Anh tư vấn em thêm.
Chữ ký của anhemnhangu Xin chào, mình là anhemnhangu, Tham gia http://thuthuataccess.com/forum từ ngày 08-08 -13.
Reply
Những người đã cảm ơn
#10
Theo mình thì để tránh lỗi tương tự xảy ra bạn copy hàm sau vào một Module

Mã:
Function getFileName(Optional strFileType As String = "All") As String
    Dim fDialog    As Object
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
    With fDialog
        .AllowMultiSelect = False
        .Title = "Select File Location to Import :"
        .Filters.Clear
        Select Case strFileType
            Case "Excel"
                .Filters.Add "Excel File", "*.xls;*.xlsx"
            Case "Word"
                .Filters.Add "Word File", "*.dot;*.dotx;*.doc;*.docx"
            Case "Access"
                .Filters.Add "Access Databases", "*.mdb;*.accdb"
                .Filters.Add "Access Projects", "*.ADP"
            Case "Picture"
                .Filters.Add "Picture File", "*.jpg;*.bmp"
            Case "All"
                .Filters.Add "All Files", "*.*"
         End Select
        If .Show = True Then
            getFileName = Trim(.SelectedItems.Item(1))
        End If
    End With
End Function

Chọn đường dẫn đến tập tin Excel bạn gọi getFileName("Excel"), tập tin Word gọi getFileName("Word"), tập tin Access gọi getFileName("Access"),file hình getFileName("Picture"), tập tin bất kỳ gọi getFileName()

VD trong trường hợp của bạn thì xóa text box dlgTimTapTin đi (dlgTimTap nằm dưới txtTapTinExcel ) và thủ tục cho nút nhấn cmdTimTapTin viết như sau:

Mã:
Private Sub cmdTimTapTin_Click()
    txtTapTinExcel = getFileName("Excel")
End Sub
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn anhemnhangu


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ơ