Trợ giúp Code định dạng ngày, tháng, năm (1 người xem)

  • Thread starter Thread starter Thaiduc
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Thaiduc

Thành viên hoạt động
Tham gia
13/3/07
Bài viết
118
Được thích
6
Nhờ Anh, chị trợ giúp Code định dạng ngày, tháng, năm như sau:
Từ Forms tại 01 TextBox nhập ngày, tháng, năm hoặc nhập năm (không có ngày, tháng). Code minh viết theo trợ giúp trên diẫn đàn nhập ngày, tháng, năm theo người Việt (dd/MM/yyyy) như: CDate(Me.Ngaysinh.Value) thì trong cells thể hiện đúng, nhưng khi nhập năm (không có ngày, tháng) thì cho kết quả không đúng (không hiện năm mình nhập mà hiện ngày, tháng, năm xa xưa).
Rất mong trợ giúp mình Code theo điều kiện nhập ngày, tháng, năm cũng đúng mà nhập năm (không có ngày, tháng) vẫn đúng. Rất cám ơn.
 
Nhờ Anh, chị trợ giúp Code định dạng ngày, tháng, năm như sau:
Từ Forms tại 01 TextBox nhập ngày, tháng, năm hoặc nhập năm (không có ngày, tháng). Code minh viết theo trợ giúp trên diẫn đàn nhập ngày, tháng, năm theo người Việt (dd/MM/yyyy) như: CDate(Me.Ngaysinh.Value) thì trong cells thể hiện đúng, nhưng khi nhập năm (không có ngày, tháng) thì cho kết quả không đúng (không hiện năm mình nhập mà hiện ngày, tháng, năm xa xưa).
Rất mong trợ giúp mình Code theo điều kiện nhập ngày, tháng, năm cũng đúng mà nhập năm (không có ngày, tháng) vẫn đúng. Rất cám ơn.

Có 2 trường hợp cần làm rõ:
  1. Nhập tháng và năm thì ý bạn sẽ trả về giá trị nào (Ngày 1)?
  2. Nhập năm thì ngày và tháng trả về giá trị nào (ngày 1, tháng 1)?
 
Upvote 0
Có 2 trường hợp cần làm rõ:
  1. Nhập tháng và năm thì ý bạn sẽ trả về giá trị nào (Ngày 1)?
  2. Nhập năm thì ngày và tháng trả về giá trị nào (ngày 1, tháng 1)?
1. Nhập theo dạng dd/MM/yyyy ví dụ: 01/5/2013 là nhập đủ ngày tháng năm.
2. Nhập năm (không có ngày, tháng) ví dụ: 2013. Thì Cells chứa dữ liệu nhập từ Forms hiện: 05/07/1905 chứ không hiện: 2013
 
Upvote 0
Hình như yêu cầu này ngoài tầm tay của Diễn đàn (bó tay.com) hoặc là yêu cầu này không đáng quan tâm (tào lao.com). Phải vậy không nhỉ.
Vậy thì bạn thử bắt lỗi Me.Ngaysinh xem sao.
Đây là 1 ví dụ về bắt lỗi theo độ dài chuỗi + xét sự xuất hiện ký tự /
Mã:
If Len(Me.Ngaysinh) = 4 And InStr(1, "/", Me.Ngaysinh) = 0 Then
    [A1] = Format(Me.Ngaysinh, "0000")
Else
    [A1] = CDate(Me.Ngaysinh)
End If
 
Upvote 0
Yêu cầu đúng là (tào lao.com). Dữ liệu dạng ngày thì bắt buộc phải có đủ ngày tháng năm. Nếu chỉ nhập vào năm thì bắt buộc phải có quy luật để nhét thêm ngày tháng vào.
Người ta hỏi muốn thể hiện quy luật này ra sao thì không thèm trả lời. Ở đấy mà lo than vãn.

Thông thường có hai cách thể hiện quy trình:
- Cách 1: dùng ngày 1 tháng 1. vd nhập 2010 thì sẽ ra 01/01/2010
- Cách 2: dùng ngày tháng hiện tại. vd ngày hôm nay (09/05/2013) nhập 2010 thì sẽ ra 09/05/2010

Nếu nhất định muốn dữ liệu trong sheet lúc thì có ngày tháng, lúc thì chỉ có năm (hoàn toàn không ngày tháng) thì bắt buộc phải đặt forrmat cho cột là dạng text.

Hãy xác định muốn quy trình nào rồi nói chuyện tiếp.

Tập làm việc với quy trình trước rồi hãy làm việc với dữ liệu.
 
Upvote 0
Nếu nhất định muốn dữ liệu trong sheet lúc thì có ngày tháng, lúc thì chỉ có năm (hoàn toàn không ngày tháng) thì bắt buộc phải đặt forrmat cho cột là dạng text.
Đâu cần phải nhất thiết là định dạng về text mới được đâu bạn, có thể sd định dạng số khác ngoài ngày tháng năm mà.
 
Upvote 0
Cám ơn các sư huynh nhiều lắm.
Ở đây là muốn có Code để nhập theo tuỳ ý, có nghĩa là nhập ngày, tháng, năm thì hiện ngày, tháng, năm theo định dạng đ/MM/yyyy và nhập năm thì hiện năm theo định dạng yyyy.
 
Upvote 0
Cám ơn các sư huynh nhiều lắm.
Ở đây là muốn có Code để nhập theo tuỳ ý, có nghĩa là nhập ngày, tháng, năm thì hiện ngày, tháng, năm theo định dạng đ/MM/yyyy và nhập năm thì hiện năm theo định dạng yyyy.
- Cá nhân tôi thấy bạn không nên làm dữ liệu "kiểu" như thế này. Một lý do mà bạn ít nhận được sự trợ giúp đó là nếu hướng dẫn bạn đi theo lối này sẽ có tư duy không tốt về xây dựng cơ sở dữ liệu.
- 1 trường dữ liệu thì chỉ mang 1 kiểu dữ liệu. Việc này sẽ rất thuận tiện cho bạn khi xử lý dữ liệu đặc biệt là với lượng dữ liệu lớn. Bây giờ bạn thấy không sao còn khi dữ liệu của bạn lên tới hàng chục nghìn dòng thì xử lý nó mới tốn gian nếu sự phân bổ sắp xếp không khoa học
- Code bài #3 chỉ mang tính chất tham khảo còn cái gốc bạn nên thiết kế 1 cơ sở dữ liệu khoa học.

Đôi điều chia sẻ.
Thân!
 
Upvote 0

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

Back
Top Bottom