Giúp mình lấy dữ liệu ngày tháng trong textbox để so sánh. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

mickeybh

Thành viên hoạt động
Tham gia
26/9/13
Bài viết
156
Được thích
33
Gửi các bạn và các anh chị trên GPE!

Mình có 1 form làm việc, mình dựa vào mã thẻ bảo hiểm để gọi ra các thông tin về hành chính trong đó có textbox "Hạn dùng". Khi mình làm xong hết mọi việc cần thiết thì ghi dữ liệu vào (đã làm được), nhưng trước khi ghi dữ liệu vào sheet mình phải so sánh điều kiện: Nếu hạn dùng của thẻ vẫn còn thì dữ liệu mới được ghi vào, ngược lại thì hiện thông báo cho người sử dụng biết.
Mình dùng val(Hạn dùng) để so sánh với now() nhưng nó vẫn cứ báo điều kiện không thoả đáng mặc dù hạn dùng của thẻ vẫn còn.

Mong được các bạn giúp đỡ!
 

File đính kèm

  • untitled1.jpg
    untitled1.jpg
    21.9 KB · Đọc: 54
Bạn dùng:

Mã:
    If CDate(TextBox_HanDung) < Date Then
        MsgBox "Out of date"
    Else
        ''Your code
    End If
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn, cho mình hỏi thêm tí.
Trước đó mình dùng val(han dung) so sánh với now() và cdate(han dung) so sánh với date đều không được mà dùng cdate(han dung) so sánh với date thì được.
Mong các bạn giải đáp thêm dùm mình vì sao dùng cdate(han dung) so sánh với now() lại không được nhỉ?
 
Upvote 0
Cảm ơn bạn, cho mình hỏi thêm tí.
Trước đó mình dùng val(han dung) so sánh với now() và cdate(han dung) so sánh với date đều không được mà dùng cdate(han dung) so sánh với date thì được.
Mong các bạn giải đáp thêm dùm mình vì sao dùng cdate(han dung) so sánh với now() lại không được nhỉ?

Bạn không biết miêu tả và đặt câu hỏi sao cho tốt nhất?
Tung code lên. Nhìn code thì đúng sai nó lòi ra ngay. Code nó trần trụi như người khỏa thân ấy: có gì, hàng thật hay giả nhìn rõ mồn một. Còn diễn tả bằng nước bọt thì chưa chắc đã rõ. Có người biết "dùng nước bọt" nhưng có người diễn tả thì càng diễn tả càng khó hiểu thêm. Ngoài ra diễn tả có thể viết nhầm. Bạn cứ đọc lại bài của mình thì rõ.
Trích
cdate(han dung) so sánh với date đều không được mà dùng cdate(han dung) so sánh với date thì được

Có nghĩa là con mèo ĐEN có mầu TRẮNG? Có nghĩa là "đổ xăng vào xe" thì chạy ngon" nhưng "đổ xăng vào xe" thì lại không nổ máy được?

Ngoài ra không bao giờ được dùng từ ngữ nhiều nghĩa. "Không được" là gì? Là "chạy code thì nhẩy ra thông báo error"? Là chạy code thì máy treo? Là chạy code thì ra kết quả không mong đợi, không chính xác?

Riêng về code
Mã:
If CDate(TextBox1) < Now Then
    MsgBox "Het han"
Else
    MsgBox "Chua het han"
End If

Thì phải ý thức được rằng nếu TextBox1 = "2014-05-14" và ngày chạy code là "2014-05-14" thì sẽ có "Het han". Tức vẫn chưa hết ngày "2014-05-14", chưa qua ngày "2014-05-15" nhưng đã "Het han"
Vì trừ khi code chạy lúc nửa đêm thì khi chạy trong ngày "2014-05-14" thì Now trả về ngày "2014-05-14" + thời gian tính từ nửa đêm đến hiện tại. Do vậy điều kiện CDate(TextBox1) < Now chắc chắn thỏa và có "Het han"
Hàm Date chỉ trả về NGÀY (không có thời gian) nên nếu code chạy trong ngày "2014-05-14" thì điều kiện CDate(TextBox1) < Now không thỏa và sẽ có "Chua het han"
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn, cho mình hỏi thêm tí.
Trước đó mình dùng val(han dung) so sánh với now() và cdate(han dung) so sánh với date đều không được mà dùng cdate(han dung) so sánh với date thì được.
Mong các bạn giải đáp thêm dùm mình vì sao dùng cdate(han dung) so sánh với now() lại không được nhỉ?
Nói như thầy siwtom thì rõ lắm rồi, nhưng tôi cũng nói cho bạn biết điều này.

Với hàm Now nó trả về kết quả là NGÀY & GIỜ HIỆN HÀNH.

Với hàm Date nó trả về kết quả là NGÀY HIỆN HÀNH.

Vì thế khi so sánh, ngoại trừ lúc 12 giờ đêm của ngày đó, thì không bao giờ 2 giá trị này bằng nhau. Nếu muốn cho chúng với nhau thì có thể ta so sánh như sau:

DateValue(Now) = Date

Thêm nữa, Với TextBox có giá trị là 14/05/2014 thì kết quả trả về của Val(TextBox) sẽ là 14 chứ không phải là 14/05/2014 đâu nha bạn.

------------------------------------------
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn switom và Hoàng Trọng Nghĩa đã góp ý và giải thích rõ hơn về các hàm. Đúng là đôi khi nhìn là biết muốn gì chứ không cần phải nói, đôi khi nói ra rồi mà người nghe vẫn không hiểu mình nói gì.
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom