• Active sheet cuối của Excel bằng VBA Access
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 30-04-17, 01:00 PM

    (30-04-17, 11:47 AM)MTNQ Đã viết: Bạn nên khai báo tường minh: 
    Trích dẫn:Dim hoso As DAO.Recordset

    thêm dòng đó bị lỗi tiếp ở dòng mới thêm đó. (Dim hoso As DAO.Recordset)
  • RE: Active sheet cuối của Excel bằng VBA Access

    MTNQ > 30-04-17, 02:19 PM

    không phải thêm vào mà là sửa dòng khai báo của bạn : Dim hoso As Recordset
    Thành : Dim hoso As DAO.Recordset

    Nếu vẫn lỗi thì bạn phải up cái file của bạn lên đây (hoặc gởi qua mattroinguquensgvn@gmail.com)
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 04-05-17, 04:22 PM

    (30-04-17, 11:47 AM)MTNQ Đã viết: Bạn nên khai báo tường minh: 
    Trích dẫn:Dim hoso As DAO.Recordset


    Cảm ơn bạn, tuy nhiên vẫn bị lỗi. lỗi ngay dòng:  hoso As DAO.Recordset
  • RE: Active sheet cuối của Excel bằng VBA Access

    ongke0711 > 04-05-17, 04:26 PM

    Bạn dùng OpenRecordset ("...", dbOpenDynaset), bỏ cái "DB_OPEN_TABLE" đi
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 04-05-17, 04:47 PM

    Ồ, được rồi. Cảm ơn bạn MTNQ. Sửa lại rồi, code chạy tốt. 

    Nhờ bạn xem hộ đoạn code này.
    Đoạn mã này giúp gửi mail từ VBA Access, tuy nhiên Outlook không gửi ngay (muốn gửi ngay thì open Outlook). Phải chỉnh đoạn mã dưới như thế nào để bắt Outlook gửi ngay hoặc SAU KHI BẤM NÚT SEND thì Outlook không thoát ngay mà thu nhỏ hoặc ẩn trên khay hệ thống. Nhờ bạn giúp dùm! Cám ơn!

    Private Sub CmSend_Click()
    Dim oLook As Outlook.Application
    Dim oMail As Outlook.MailItem
    Set oLook = CreateObject("Outlook.Application")
    Set oMail = oLook.CreateItem(0)
    oMail.to = "xxx@gmail.com"   
    oMail.Subject = "Bao cao"
    oMail.body = ""
    oMail.Attachments.Add "D:\yyy.xls"  
    oMail.Display
    Set oMail = Nothing
    Set oLook = Nothing

    End Sub
  • RE: Active sheet cuối của Excel bằng VBA Access

    ongke0711 > 04-05-17, 04:59 PM

    Thêm oMail.Send
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 04-05-17, 07:23 PM

    (04-05-17, 04:59 PM)ongke0711 Đã viết: Thêm oMail.Send


    mình cũng đã sử dụng oMail.Send nhưng vấn đề là hộp mail đến không nhận được mail ngay, có khi mấy tiếng đồng hồ ngày hôm sau mới nhận. Muốn nhân ngay thì sau khi thực thi code thì phải mở thủ công Outlook lên, để yên một chút nó mới chịu gửi.
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 14-05-17, 07:13 PM

    Query: Dlookup between 2 ngày

    Khi thiết kế Query, cột Tuần có công thức sau:

    Tuanx: DLookUp("[T00 DM TUAN]![TUAN]","T00 DM TUAN","#" & [NGAYKP] & "# Between [T00 DM TUAN]![TUNGAY] And [T00 DM TUAN]![DENNGAY]")


    không rõ công thức sai chỗ nào mà trả về kết quả không đúng.
    (Table gồm: TUAN,NAM,TUNGAY,DENNGAY)
    Vi dụ: BN có ngày khởi phát bệnh (NGAYKP) là 2/1/2017 thì nó phải thuộc về tuần 1 mà kết quả trả về khác số này.
     
    Nhờ các bạn xem coi sai chỗ nào. Nhức đầu với hàm này.
  • RE: Active sheet cuối của Excel bằng VBA Access

    ongke0711 > 14-05-17, 08:06 PM

    Sao bạn không dùng hàm DatePart để tìm số tuần từ một ngày cho trước.
    VD: DatePart ("ww",#01/02/2017#) = 1  --> Chú ý: theo dịnh dạng tháng trước ngày sau (mm/dd/yyyy)
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 15-05-17, 10:48 AM

    Lý do 1: Hàm DatePart tính số tuần từ chủ nhật đến thứ 7. Trong khi yêu cầu tuần của mình tính từ thứ 2 đến CN. (Nếu dùng hàm này sẽ bị lệch 1 ngày). 

    --> vậy làm sao để hàm tính đúng?

    Lý do 2: Tuần đầu và tuần cuối từng năm đôi lúc thêm/bớt 1 ngày rất phức tạp.