RE: Tạo form Tiếp đón Bảo hiểm y tế
lmthu > 05-03-16, 11:58 AM
Sau khi xem xong demo của bạn thì tôi gợi ý như vầy:
1. Bạn chỉ cần tạo 1 trường là số BHYT chứ nếu tạo thành 5 trường như CSDL của bạn thì rất tốn dung lượng bộ nhớ và rất khó tìm kiếm xử lý, khi load nó vào form thì ta dùng hàm cắt chuỗi để thể hiện
Theo câu hỏi của bạn thì ta sẽ tạo 10 control nhập liệu gồm:
- 1 Textbox chứa trường STT (hình như bạn lấy ID làm STT thì phải?), đặt tên là TxtSTT.
- 5 Textbox chứa trường số BHYT, ta đặt tên ta lần lượt là TxtSoBHYT1...TxtSoBHYT5
- 1 Texbox chứa kết quả là 5 Textbox số BHYT cộng lại, đặt tên là TxtSoBHYT, thuộc tính Visible=False
- 3 Textbox còn lại chứa các trường Họ tên, địa chỉ, tuổi...đạt tên là TxtHoten, TxtDiachi, TxtTuoi
Khi đặt tên cho các control nhập liệu bạn phải đặt gợi nhớ, dễ phân biệt gồm 3 từ đầu chứa tên control+tên trường dữ liệu mà nó thể hiện (Textbox thì là Txt, Combobox là Cbo, nút Option là Opt, Listbox là Lst, nút lệnh là Cmd...)
VD: Textbox chứa controlsource là STT thì đặt là TxtSoTT
Trong sự kiện AfterUpdate của TxtSoBHYT5 bạn viết mã lệnh sau:
Private Sub TxtSoBHYT_AfterUpdate()
Me.TxtSoBHYT=Me.TxtSoBHYT1 & "-" & Me.TxtSoBHYT2 & "-" & & Me.TxtSoBHYT3 & "-" & Me.TxtSoBHYT4 & "-" & Me.TxtSoBHYT5
'Theo ý tôi thì bạn nên ngăn cách các dãy mã số BHYT bằng dấu "-" cho dễ xử lý chuổi bằng hàm
Me.TxtHoten=Dlookup("hoten","tiepdon","SoBHYT='" & me.TxtSoBHYT & "'"
Me.TxtDiachi=Dlookup("diachi","tiepdon","SoBHYT='" & me.TxtSoBHYT & "'"
Me.Txttuoi=Dlookup("tuoi","tiepdon","SoBHYT='" & me.TxtSoBHYT & "'"
End Sub