• Tính Toán thời gian giữa hai thời điểm với datediff
  • Tính Toán thời gian giữa hai thời điểm với datediff

    Noname > 13-08-10, 10:40 PM

    Đôi khi bạn có nhu cầu tính số ngày, số tháng, số quý giữa hai thời kỳ nhằm phục vụ báo cáo.Cụ thể tính tiền trợ cấp hoặc bảo hiểm xã hội!
    Mình xin giới thiệu hàm: DateIff( loại, từ ngày, đến ngày)
    bạn dùng hàm datediff("d", date1, date2) để tính số ngày
    bạn dùng hàm datediff("m", date1, date2) để tính số tháng
    bạn dùng hàm datediff("q", date1, date2) để tính số quý ....

    Loại ta có:
    yyyy Year
    q Quarter
    m Month
    y Day of year
    d Day
    w Weekday
    ww Week
    h Hour
    n Minute
    s Second

    sau khi tính duoc số tháng ban dùng dấu chia ngược "\" hoặc dùng hàm roud() kết hợp với lệnh mod để tính ra số năm và số tháng


    ví dụ: trên báo cáo BHXH thời gian đóng BHXH cua Nhân viên A là ngày 15 tháng 01 năm 1980 đến ngày 15 tháng 6 năm 1982 là 2 năm 5 tháng ban làm như sau:

    datediff("m",#01/15/1980#,#06/15/1982#) --> cho kết quả 29
    hoặc
    datediff("m", dateserial(1980,01,15), dateserial(1982,06,15)) --> cho kết quả 29

    để tìm ra số năm ta có thể lấy 29\12 = 2 hoặc fix(29/12) = 2
    để tinh số tháng ta lấy 29 mod 12 = 5
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    feraly > 21-12-10, 04:14 PM

    Mình cũng đang học nên chưa biết gì nhiều,
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    helloworld > 27-12-10, 07:00 PM

    Bác ơi.Cho e hỏi.Vậy sau khi tìm ra năm/tháng/ngày.Ví dụ 0 năm 1 tháng 2 ngày muốn đọc 1 tháng 2 ngày,1năm 0 tháng 3 ngày mún đọc 1 năm 3 ngày...thì làm như thế nào ạ,dùng hàm nào ạ???.Em mới nghiên cứu access mà đề tài của em bị đụng ngay chỗ này chưa có cách giải quyết....hic.May quá gặp bài này...Thanks bác trước
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    Noname > 28-12-10, 12:06 AM

    (27-12-10, 07:00 PM)helloworld Đã viết: Bác ơi.Cho e hỏi.Vậy sau khi tìm ra năm/tháng/ngày.Ví dụ 0 năm 1 tháng 2 ngày muốn đọc 1 tháng 2 ngày,1năm 0 tháng 3 ngày mún đọc 1 năm 3 ngày...thì làm như thế nào ạ,dùng hàm nào ạ???.Em mới nghiên cứu access mà đề tài của em bị đụng ngay chỗ này chưa có cách giải quyết....hic.May quá gặp bài này...Thanks bác trước

    Dùng hàm Iff thôi bạn ạ. Mà mình chưa hiểu đọc là đọc trong hoàn cảnh nào!
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    helloworld > 28-12-10, 12:10 PM

    Vâng.Thanks bác.Đề tài của e là quản lý phạm nhân.yêu cầu phải đọc án còn lại và án đã thi hành tính đến thời điểm hiện tại.Tính thì e dùng hàm datediff như bác đã hướng dẫn đã tính được.Còn đọc theo ngày tháng năm thì e bí.Tại ko rành VB.Trước làm bên ễcll cũng dùng if để đọc thì đơn giản.Đụng trúng a VB này..botay.Bác hướng dẫn e kỹ hơn đc ko? Thanks b truoc
    mà dùng iif thì dùng trực tiếp trong form,report lun hả bác?Không còn viết function sao?
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    Noname > 28-12-10, 12:32 PM

    Vì VBA không hỗ trợ unicode nên gần như pó tay. Nên bạn kết hợp các hàm trong query thôi. Hàm IIF tương đường với hàm if của Excel
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    helloworld > 28-12-10, 12:51 PM

    Thật ra em chì cần đọc tắt .Ví dụ như xN yT zNg thôi ạ.Vậy bác có hàm VBA có thể giải quyết được vấn đề của e ko a?Còn nếu dùng query thì kết hợp những hàm nào.Mong bác giúp em trót lần nàyTongue_smile
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    Noname > 28-12-10, 01:47 PM

    Nếu bạn tìm ra năm tháng ngày rồi thì cứ như thế này:
    Mã:
    Function docngay(ngay as Integer,thang as integer,nam as integer) as String
    Dim S as String
    If ngay>0 then
    S= ngay & " ngay "
    End if
    If thang>0 then
    S = S & " thang "
    end if
    If nam>0 then
    S=S &  " Nam "
    End if
    docngay= S

    end Function

    Giờ không cần biết bạn làm cách nào để có số ngày. tháng, năm. Khi nào cần đọc thì cứ gọi hàm đọc ngày trên :
    =docngay 2, 1, 0 => 2 ngày 1 tháng

    = docngay 2, 0, 1 => 2 ngày 1 năm
    ...
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    helloworld > 28-12-10, 06:09 PM

    Thanks bác nhìu nhìu lắm lắm ợ.Mừng quá cơ
  • RE: Tính Toán thời gian giữa hai thời điểm với datediff

    KínhCận > 28-05-11, 12:17 PM

    Có hàm datediff này tính quá hạn nợ là số 1 tìm đã lâu ai ngờ nằm ở web mình tham gia bấy lâu hic, cám ơn chủ thớt nhiều nhé!