-
Hỏi hàm DateDiff
HoangManh > 18-04-17, 11:55 AM
Các anh làm ơn cho em hỏi là em có 3 textbox txtgiobatdau,txtgioketthuc, txtphut.Em co dùng DateDiff để lấy ra số phút làm . nhưng không ra kết quả có cách nào có thể lấy ra số phút không ạ. Em cảm ơn ạ
Mã:Me.txtphut = DateDiff(N, Format(Me.txtgiobatdau, "hh:mm"), Format(Me.txtgioketthuc, "hh:mm"))
-
RE: Hỏi hàm DateDiff
ongke0711 > 18-04-17, 01:03 PM
=Datediff("n",[ngaybatdau],[ngayketthuc]) -
RE: Hỏi hàm DateDiff
HoangManh > 18-04-17, 01:15 PM
(18-04-17, 01:03 PM)ongke0711 Đã viết: =Datediff("n",[ngaybatdau],[ngayketthuc])
Em cảm ơn anh ạ. Nhưng giờ ngừoi dùng nhập vào có giờ thôi nên có cách nào không ạ. Vì có giờ không khi lấy nó không ra kết quả ạ.với trong SQLserver em chỉ muốn lưu mỗi giờ lmaf vì đã có trừong lưu ngày làm riêng rồi ạ. nhưng khi lưu thì luôn mắc định là 1990-01-01 -
RE: Hỏi hàm DateDiff
ongke0711 > 18-04-17, 02:52 PM
Trong Access, field có dạng Date/Time luôn luôn lưu ngày và giờ do vậy nếu bạn muốn lưu giờ không thôi thì bạn phải dùng data type dạng Text để người dùng tự nhập vô. Sau đó dùng các hàm Left/Righ để tách chuỗi, chuyển thành dạng số rồi xử lý.
Vd: nhập 13:00 AM
Hoặc có thể tách thành 2 field dạng Number: field lưu Giờ, field lưu phút. -
RE: Hỏi hàm DateDiff
HoangManh > 19-04-17, 08:33 AM
(18-04-17, 02:52 PM)ongke0711 Đã viết: Trong Access, field có dạng Date/Time luôn luôn lưu ngày và giờ do vậy nếu bạn muốn lưu giờ không thôi thì bạn phải dùng data type dạng Text để người dùng tự nhập vô. Sau đó dùng các hàm Left/Righ để tách chuỗi, chuyển thành dạng số rồi xử lý.
Vd: nhập 13:00 AM
Hoặc có thể tách thành 2 field dạng Number: field lưu Giờ, field lưu phút.
Dạ em cảm ơn anh ạ. Vì ngừoi dùng nhập vào có hh:mm thôi. nên khi rơi vào trừong hơp . 23:30 làm sang hôm sau 5:30 thì khi datediff ra kết quả âm có cách nào để tính không ạ. -
RE: Hỏi hàm DateDiff
ongke0711 > 19-04-17, 10:56 AM
Trường hợp làm ca đêm hay Giờ Ra < Giờ Vào thì bạn +1 vào Giờ Ra rồi dùng Datediff như bình thường.
Vd: Datediff("h",#23:30 PM#,#5:30 AM#+1) --> 6 -
RE: Hỏi hàm DateDiff
HoangManh > 19-04-17, 11:27 AM
(19-04-17, 10:56 AM)ongke0711 Đã viết: Trường hợp làm ca đêm hay Giờ Ra < Giờ Vào thì bạn +1 vào Giờ Ra rồi dùng Datediff như bình thường.
Vd: Datediff("h",#23:30 PM#,#5:30 AM#+1) --> 6
Em cảm ơn anh ạ. Em có viết như sau
Nhưng vẫn ko ra kết quả . am và pm thì mình phải format lại giá trị lấy từ txt ạMã PHP:Me.txtFun = DateDiff("n", Me.txtJkhajimeKN, Me.txtJkowariKN + 1)
-
RE: Hỏi hàm DateDiff
ongke0711 > 19-04-17, 11:58 AM
Sorry quên nói bạn các tham số và cách dùng hàm DateDiff trong ví dụ tôi dùng là dạng DateTime đúng nghĩa chứ không phải dạng Text.
Bây giờ trường hợp của bạn là dùng Text thì bạn phải chuyển thành dạng time (dùng hàm TimeValue()) rồi tính toán.
Vd: TimeValue("23:00 PM") --> 11:00:00 PM -
RE: Hỏi hàm DateDiff
HoangManh > 19-04-17, 12:31 PM
(19-04-17, 11:58 AM)ongke0711 Đã viết: Sorry quên nói bạn các tham số và cách dùng hàm DateDiff trong ví dụ tôi dùng là dạng DateTime đúng nghĩa chứ không phải dạng Text.
Bây giờ trường hợp của bạn là dùng Text thì bạn phải chuyển thành dạng time (dùng hàm TimeValue()) rồi tính toán.
Vd: TimeValue("23:00 PM") --> 11:00:00 PM
Em cảm ơn anh Nhưng ngừoi Dùng nhập có là giờ không ko có am hay pm. thì sao ạ. Nếu mình muốn cho ngừoi dùng chọn thời gian thì có cách nào để thay đổi định dang ô textbox ko ạ -
RE: Hỏi hàm DateDiff
lamvankhanh > 19-04-17, 12:55 PM
Bạn có thể làm theo cách này:
- Trường txtgiobatdau và txtgioketthuc trong Table, thì data type là Date/time và Format là: dd/mm/yyyy hh:nn
- Bạn thêm trường TXTGIO, data type: Date/time không cần Format, và thêm 2 trường sophut và sogio có Format là Number.
- Ở Forms nhập bạn chọn textbox txtgiobatdau và txtgioketthuc với Format là: dd/mm/yyyy hh:nn và Input mask: 99:99, và 2 trường sophut và sogio có Format: Standard, txtgio thì không cần format,
- Ở txtgiobatdau sự kiện DblClick: Txtgiobatdau = Format(Time(), "HH:MM"), tương tự cho txtgioketthuc
- Lấy giờ, phút và số giờ, số phút:
TXTGIO = Format([txtgioketthuc] - [txtgiobatdau], "HH:MM")
Sophut = Minute([txtgio])
Sogio = Hour([TXTGIO])