quyvt1993 > 04-02-13, 01:22 PM
(04-02-13, 01:00 PM)Xuân Thanh Đã viết:Mình đã hiểu cách làm của Xuân Thanh rồi, cám ơn bạn và các bạn khác rất nhiều!(03-02-13, 02:13 PM)quyvt1993 Đã viết: Mình cũng có tìm khá nhiều rồi bạn nhưng tại các bạn ấy tìm kiếm theo kiểu lọc dữ liệu, 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, nếu thấy thì xuất ra textbox kq, nếu ko tìm giá trị gần nhất xuất ra. Chứ nếu lọc như các bạn ấy sẽ lộ đơn giá ra, mà mình tìm ko ra.
File của mình bạn xem giùm mình với nha.!
1/ Trong Table DonGia gồm các trường : MaSP, TenSP, GiaSP
2/ Chép đoạn code sau vào một module
Mã PHP: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"
Trong đó : nGiaTri là Giá trị cần dò tìm, nLoai là phương thức dò tìm. Nếu nLoai = 1 thì tìm cận dưới, nếu nLoai = 2 thì tìm cận trên
Thân mến
cuong0202 > 08-02-13, 06:13 PM
khải nguyên > 09-02-13, 11:51 PM