• Hàm tìm kiếm giá trị gần dúng
  • Hàm tìm kiếm giá trị gần dúng

    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....

    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 DoublenLoai 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!GiaSPKQ True
                        End 
    If
                    
    End If
                Else
                    If 
    rs!GiaSP nGiaTri Then
                        
    If nGiaTri rs!GiaSP 0 Then
                            TimGanDung 
    rs!GiaSPKQ 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