• Thông báo lỗi "There in no object in this control"
  • Thông báo lỗi "There in no object in this control"

    anhemnhangu > 29-04-14, 10:16 PM

    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.
  • RE: Thông báo lỗi "There in no object in this control"

    bignosevinatex > 30-04-14, 02:41 PM

    (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
  • RE: Thông báo lỗi "There in no object in this control"

    anhemnhangu > 03-05-14, 08:55 PM

    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.
  • RE: Thông báo lỗi "There in no object in this control"

    Minh Tiên > 03-05-14, 09:03 PM

    Ở Acc office2007 bạn hãy đổi câu .ShowOpen thành .Show là OK !
    Chúc bạn thành công !
  • RE: Thông báo lỗi "There in no object in this control"

    anhemnhangu > 03-05-14, 10:04 PM

    [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
  • RE: Thông báo lỗi "There in no object in this control"

    Xuân Thanh > 04-05-14, 11:10 AM

    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
  • RE: Thông báo lỗi "There in no object in this control"

    anhemnhangu > 04-05-14, 12:05 PM

    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,
  • RE: Thông báo lỗi "There in no object in this control"

    Minh Tiên > 04-05-14, 01:58 PM

    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 !
  • RE: Thông báo lỗi "There in no object in this control"

    anhemnhangu > 04-05-14, 06:24 PM

    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.
  • RE: Thông báo lỗi "There in no object in this control"

    MTNQ > 04-05-14, 09:05 PM

    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