Đình Phán > 10-06-22, 09:45 AM
AnNguyen > 10-06-22, 11:37 AM
(10-06-22, 09:45 AM)Đình Phán Đã viết: Chào các anh,
Em có vấn đề này mong các anh giúp.
1. Em muốn viết 1 đoạn VBA để kiểm tra các textbox trong form Header đã được nhập hay chưa. Nếu chưa nhập thì thoát Thủ tục
2. Chạy 1 thủ tục khác, để nhập số liệu vào sub form , lấy giá trị đang có tại 1 textbox của form Header để gán vào sub form
Em cảm ơn.
Private Sub Command57_Click()
If [Forms]![fmTraHeader]![Ma_Phieu_Tra].Value = "" Then
MsgBox "Ban chua nhap Ma Phieu Tra", vbOKOnly, "Thong bao"
Exit Sub
Else
DoCmd.OpenForm "fmTTPhieuMuon1", acViewNormal
End If
End Sub
Function Check_Input(frm As Form, Tag_Name As String) As Boolean
On Error Resume Next ' neu loi thi van chay va tra ve thong bao
Dim t As Control
For Each t In frm.Controls
If t.ControlType = acTextBox Then
If (t.Tag = Tag_Name) Then ' gia tri truyen vao
If IsNull(t) Or t = "" Then
MsgBox t.ControlTipText & " ddang bor troosng"
t.SetFocus
Check_Input = True
Exit For
End If
End If
End If
Next t
End Function
Đình Phán > 10-06-22, 12:30 PM
(10-06-22, 11:37 AM)AnNguyen Đã viết: Mình thường làm theo cách là đặt tên Tag cho textbox để xác định giá trị có phải kiểm tra hay không. Và Controltooltip để làm tên hiển thị
Sau đó sử dụng vòng lặp để check hết textbox trong form xem được nhập chưa.
Mã:Function Check_Input(frm As Form, Tag_Name As String) As Boolean
On Error Resume Next ' neu loi thi van chay va tra ve thong bao
Dim t As Control
For Each t In frm.Controls
If t.ControlType = acTextBox Then
If (t.Tag = Tag_Name) Then ' gia tri truyen vao
If IsNull(t) Or t = "" Then
MsgBox t.ControlTipText & " ddang bor troosng"
t.SetFocus
Check_Input = True
Exit For
End If
End If
End If
Next t
End Function