Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Lỗi Run-time error '3011'

    Chào các anh.
    em dùng vb và csdl access.
    table trong access của em gồm các trường: TA_ID, Shift, Hours, Day, R80 và W
    *Em muốn xuất dữ liệu vào excel: xuất dữ liệu R80 của table TA_ID; có Shift là txtShift, Hours là txtHours , Day là txtDay vào Sheet1 ở cell C6 (Với txt Shift, txtHours, txtDay là những text box trong form search)
    Em viết đoạn code sau:



    Mã:
    Private Sub cmdexport_Click()
    Dim strfile As String
    Dim sqlTA_ID1 As String
     
    Dim Access As New Access.Application
    Access.OpenCurrentDatabase "C:\Users\Owner\Desktop\Folder\VB\VB working\Working\Tafico\A_Login - Original - Copy7_trial\dbpassword.mdb"
     
    Const acExport = 1: Const acSpreadsheetTypeExcel9 = 8
     
    strfile = "C:\my folder\Export.xls"
     
    sqlTA_ID1 = " Select R80 * From TA_ID Where Day = #txtDay# And Shift = "txtShift" And Hours = "txtHours" "
     
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "sqlTA_ID1", strfile, True, "Sheet2!C6"
        
    End Sub
    Nhưng lại bị báo lỗi Run-time error '3011': The Microsoft Jet database engine could not find the object 'sqlTA_ID1'. Make sure the object exists and that you spell ít name and the path name correctly

    Em đã search trên diễn đàn nhưng vẫn không sữa được, Mấy anh giúp dùm em sửa lại lỗi trên.

    *Cho em hỏi thêm
    ----nếu như em đóng gói thành phần mềm thì có cần dùng: Dim Access As New Access.Application
    Access.OpenCurrentDatabase "C:-/Users\Owner\Desktop\Folder\VB\VB working\Working\Tafico\A_Login - Original - Copy7_trial\dbpassword.mdb"
    (em sợ là khi đóng gói không thể mở được.)
    ---Nếu em tạo thêm điều kiện cho Hous :
    1.nếu Hous =6 (txtHous =6) thì cho dữ liệu vào Sheet1 - cell C6
    2.nếu Hous =7 (txtHous =7) thì cho dữ liệu vào Sheet1 - cell C7
    ..... Thì phài làm sao.

    Cảm ơn các anh nhiều

  2. #2
    Ngày tham gia
    Mar 2016
    Bài viết
    0
    Ðề: Lỗi Run-time error '3011'




    Trích dẫn Gửi bởi spacemanfore
    Chào các anh.
    em dùng vb và csdl access.
    table trong access của em gồm các trường: TA_ID, Shift, Hours, Day, R80 và W
    *Em muốn xuất dữ liệu vào excel: xuất dữ liệu R80 của table TA_ID; có Shift là txtShift, Hours là txtHours , Day là txtDay vào Sheet1 ở cell C6 (Với txt Shift, txtHours, txtDay là những text box trong form search)
    Em viết đoạn code sau:



    Mã:
    Private Sub cmdexport_Click()
    Dim strfile As String
    Dim sqlTA_ID1 As String
     
    Dim Access As New Access.Application
    Access.OpenCurrentDatabase "C:\Users\Owner\Desktop\Folder\VB\VB working\Working\Tafico\A_Login - Original - Copy7_trial\dbpassword.mdb"
     
    Const acExport = 1: Const acSpreadsheetTypeExcel9 = 8
     
    strfile = "C:\my folder\Export.xls"
     
    sqlTA_ID1 = " Select R80 * From TA_ID Where Day = #txtDay# And Shift = "txtShift" And Hours = "txtHours" "
     
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "sqlTA_ID1", strfile, True, "Sheet2!C6"
        
    End Sub
    Nhưng lại bị báo lỗi Run-time error '3011': The Microsoft Jet database engine could not find the object 'sqlTA_ID1'. Make sure the object exists and that you spell ít name and the path name correctly

    Em đã search trên diễn đàn nhưng vẫn không sữa được, Mấy anh giúp dùm em sửa lại lỗi trên.

    *Cho em hỏi thêm
    ----nếu như em đóng gói thành phần mềm thì có cần dùng: Dim Access As New Access.Application
    Access.OpenCurrentDatabase "C:-/Users\Owner\Desktop\Folder\VB\VB working\Working\Tafico\A_Login - Original - Copy7_trial\dbpassword.mdb"
    (em sợ là khi đóng gói không thể mở được.)
    ---Nếu em tạo thêm điều kiện cho Hous :
    1.nếu Hous =6 (txtHous =6) thì cho dữ liệu vào Sheet1 - cell C6
    2.nếu Hous =7 (txtHous =7) thì cho dữ liệu vào Sheet1 - cell C7
    ..... Thì phài làm sao.

    Cảm ơn các anh nhiều
    Mình không hiểu bạn khai báo sqlTA_ID1 As String nhưng thực tế đây là một object
    Lỗi trên của bạn thông báo không tìm thấy object sqlTA_ID1, bạn phải chắc chắn rằng object này tồn tại và đường dẫn đến phải chính xác

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Lỗi Run-time error '3011'

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "sqlTA_ID1", strfile, True, "Sheet2!C6"

    Bạn bỏ dấu nháy kép ở cái chỗ sqlTA_ID1 đi.

    Nói thêm:
    Bạn nên thực hiện việc export ra Excel từ Access hoặc từ VB, đồng thời bạn không nên dùng một đường dẫn tuyệt đối đến file mdb, vì như thế khi đóng gói sẽ dẫn đến việc tìm không thấy file.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •