Xuân Thanh > 04-02-13, 01:00 PM
(03-02-13, 02:13 PM)quyvt1993 Đã viết: ....Trên form, mình có 1 text box GiaTien, 1 table Dongia, mình muốn khi nhất nút tìm kiếm, sẽ tìm trong table Dongia giá trị bằng hoặc gần bằng GiaTien, nếu thấy thì xuất ra textbox kq, nếu ko tìm giá trị gần nhất xuất ra....
Option Explicit
Function TimGanDung(nGiaTri As Double, nLoai As Integer)
Dim rs As Recordset
Dim strSQL As String
strSQL = "SELECT tblDonGia.* FROM tblDonGia ORDER BY tblDonGia.GiaSP"
Set rs = CurrentDb.OpenRecordset(strSQL)
Dim nDau As Double
Dim KQ As Boolean
KQ = False
If rs.RecordCount > 0 Then
rs.MoveFirst
nDau = nGiaTri - rs!GiaSP
Do Until rs.EOF
If rs!GiaSP = nGiaTri Then TimGanDung = rs!GiaSP
If nLoai = 1 Then
If rs!GiaSP < nGiaTri Then
If nGiaTri - rs!GiaSP - nDau > 0 Then
nDau = nGiaTri - rs!GiaSP
Else
TimGanDung = rs!GiaSP: KQ = True
End If
End If
Else
If rs!GiaSP > nGiaTri Then
If nGiaTri - rs!GiaSP < 0 Then
TimGanDung = rs!GiaSP: KQ = True: Exit Do
End If
End If
End If
rs.MoveNext
Loop
End If
If KQ = False Then MsgBox "Ket qua do tim khong co trong du lieu" , , "Thong Bao"