lỗi nút tìm kiếm
vietqlc > 31-10-12, 12:10 PM
tôi có cơ sở dữ liệu thư viện, khi làm form tìm kiếm theo độc giả, tôi làm các option sau : tên, họ lót, lớp, ngày đăng kí, mã thẻ, giới tính và 1 textbox tìm, 1 label tìm. Chức năng của form này là khi người sử dụng cần tìm theo tên thì chọn vào option tên, sau đó gõ tên cần tìm vào textbox tìm sau đó ấn vào label tìm bên cạnh. Tôi làm được nhưng chỉ tìm được 1 lần, còn các lần sau thì không thực hiện được. Đang bí quá nhờ anh em code lại dùm nha. Code của tôi là :
Private Sub Label68_Click()
If TxtTim.Value <> "" Then
If Kichhoat = 1 Then
TimTen
End If
If Kichhoat = 2 Then
TimLop
End If
If Kichhoat = 3 Then
TimNgayDangKy
End If
If Kichhoat = 4 Then
TimHoLot
End If
If Kichhoat = 5 Then
TimMaThe
End If
If Kichhoat = 6 Then
TimGioiTinh
End If
Else
F_DocGiaSub.SourceObject = "F_DocGiaSub"
F_DocGiaSub.LinkChildFields = ""
F_DocGiaSub.LinkMasterFields = ""
Form_F_DocGia.Refresh
End If
End Sub
Private Sub OptTenDocGia_GotFocus()
Kichhoat = 1
End Sub
Private Sub OptLop_GotFocus()
Kichhoat = 2
End Sub
Private Sub OptNgayDangKy_GotFocus()
Kichhoat = 3
End Sub
Private Sub OptHoLot_GotFocus()
Kichhoat = 4
End Sub
Private Sub OptMaThe_GotFocus()
Kichhoat = 5
End Sub
Private Sub OptGioiTinh_GotFocus()
Kichhoat = 6
End Sub
Private Sub CmdTim_Click()
If TxtTim.Value <> "" Then
If Kichhoat = 1 Then
TimTen
End If
If Kichhoat = 2 Then
TimLop
End If
If Kichhoat = 3 Then
TimNgayDangKy
End If
If Kichhoat = 4 Then
TimHoLot
End If
If Kichhoat = 5 Then
TimMaThe
End If
If Kichhoat = 6 Then
TimGioiTinh
End If
Else
F_DocGiaSub.SourceObject = "F_DocGiaSub"
F_DocGiaSub.LinkChildFields = ""
F_DocGiaSub.LinkMasterFields = ""
Form_F_DocGia.Refresh
End If
End Sub
Sub TimTen()
Dim rs As DAO.Recordset
Dim i, strLen As Integer
strLen = Len(TxtTim.Value)
TxtSo.Value = strLen
Set rs = CurrentDb.OpenRecordset("Tbl_DocGia")
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
If TxtTim.Value = Left(rs!Ten, strLen) Then
TxtThu.Value = TxtTim.Value
F_DocGiaSub.SourceObject = "F_TimTenDG"
End If
rs.MoveNext
Loop
F_DocGiaSub.SourceObject = "F_TimTenDG"
End Sub
Sub TimLop()
Dim rs As DAO.Recordset
Dim i, strLen As Integer
strLen = Len(TxtTim.Value)
TxtSo.Value = strLen
Set rs = CurrentDb.OpenRecordset("Tbl_DocGia")
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
If TxtTim.Value = Left(rs!Lop, strLen) Then
TxtThu.Value = TxtTim.Value
F_DocGiaSub.SourceObject = "F_TimLop"
End If
rs.MoveNext
Loop
F_DocGiaSub.SourceObject = "F_TimLop"
End Sub
Sub TimNgayDangKy()
Dim rs As DAO.Recordset
Dim i, strLen As Integer
strLen = Len(TxtTim.Value)
TxtSo.Value = strLen
Set rs = CurrentDb.OpenRecordset("Tbl_DocGia")
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
If TxtTim.Value = Left(rs!NgayCap, strLen) Then
TxtThu.Value = TxtTim.Value
F_DocGiaSub.SourceObject = "F_TimNgayCap"
End If
rs.MoveNext
Loop
F_DocGiaSub.SourceObject = "F_TimNgayCap"
End Sub
Sub TimHoLot()
Dim rs As DAO.Recordset
Dim i, strLen As Integer
strLen = Len(TxtTim.Value)
TxtSo.Value = strLen
Set rs = CurrentDb.OpenRecordset("Tbl_DocGia")
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
If TxtTim.Value = Left(rs!HoLot, strLen) Then
TxtThu.Value = TxtTim.Value
F_DocGiaSub.SourceObject = "F_TimHoLot"
End If
rs.MoveNext
Loop
F_DocGiaSub.SourceObject = "F_TimHoLot"
End Sub
Sub TimGioiTinh()
Dim rs As DAO.Recordset
Dim i, strLen As Integer
strLen = Len(TxtTim.Value)
TxtSo.Value = strLen
Set rs = CurrentDb.OpenRecordset("Tbl_DocGia")
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
If TxtTim.Value = Left(rs!GioiTinh, strLen) Then
TxtThu.Value = TxtTim.Value
F_DocGiaSub.SourceObject = "F_TimGioiTinh"
End If
rs.MoveNext
Loop
F_DocGiaSub.SourceObject = "F_TimGioiTinh"
End Sub
Sub TimMaThe()
Dim rs As DAO.Recordset
Dim i, strLen As Integer
strLen = Len(TxtTim.Value)
TxtSo.Value = strLen
Set rs = CurrentDb.OpenRecordset("Tbl_DocGia")
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
If TxtTim.Value = Left(rs!SoThe, strLen) Then
TxtThu.Value = TxtTim.Value
F_DocGiaSub.SourceObject = "F_TimMaThe"
End If
rs.MoveNext
Loop
F_DocGiaSub.SourceObject = "F_TimMaThe"
End Sub
Private Sub Form_Load()
Kichhoat = 1
kt = False
kt1 = False
End Sub
Mong mọi người giúp đỡ sớm