thanhtruong > 27-06-16, 08:00 PM
ongke0711 > 27-06-16, 08:34 PM
thanhtruong > 27-06-16, 10:12 PM
(27-06-16, 08:34 PM)ongke0711 Đã viết: Bạn dùng Dmax thử xem. Tìm ra ngày gần nhất sau đó dùng hàm DateDiff để tìm số ngày đến hiện tại.
VD:
NgayKhamTruoc=Dmax("NgayKham","Table phiếu khám","Mã bệnh nhân=" & Me.cboMaBenhNhan)
If NgayKhamTruoc >0 Then
SoNgay=DateDiff("d", NgayKhamTruoc, Date())
Else
Msgbox "Khám lần đầu"
End if
ongke0711 > 27-06-16, 11:35 PM
zinzin8x > 28-06-16, 07:02 PM
thanhtruong > 02-07-16, 02:27 PM
(28-06-16, 07:02 PM)zinzin8x Đã viết: Ongke nói đúng rồi. số thẻ nó còn thay đổi theo năm nữa. tốt nhất là bạn quản lý theo số CMT như vậy thì không có lẫn thằng nào được. và áp dụng code của Ongke là hoàn toàn chính xác.
cpucloi > 03-07-16, 09:55 AM
cpucloi > 03-07-16, 10:34 AM
thanhtruong > 21-07-17, 08:11 PM
(27-06-16, 11:35 PM)ongke0711 Đã viết: - Nếu bạn dựa vào mã thẻ BHYT thì tôi sợ nó cũng không phải là duy nhất để phân biệt bênh nhân vì nếu đổi cty thì mã thẻ BHYT cũng đổi, mua bảo hiểm tự nguyện hình như cũng thay đổi. Do vậy nếu gặp trường hợp mới đổi thẻ BHYT thì ứng dụng sẽ báo là "mới khám lần đầu" ngay.
- Nếu dùng mã thẻ BHYT thì hàm Dmax bạn đổi lại chút.
--------------------------
Private cmdLuu_Click()
Dim NgayKhamTruoc As Date, SoNgay As Integer
NgayKhamTruoc=Dmax("NgayKham","Table1","[MaBHYT] = '" & Me.txtMaBHYT & "'")
If Not IsNull(NgayKhamTruoc) Then
SoNgay=DateDiff("d", NgayKhamTruoc, Date())
Msgbox "Da kham cach day " & SoNgay & " ngay!", vbInformation, "Thong bao"
...
Else
Msgbox "Khám lần đầu"
...
End if
End Sub