Mình có 1 chương trình thế này:
1 table có chứa các giá trị 2450,1540,4520, 5684......
1 form có Textbox1 tính ra được là 2910
Mình cần viết lệnh để tìm kiếm giá trị textbox1 này ở bên table1, nếu có thì xuất toàn bộ dòng đó của table ra, còn không thì tìm 1 giá trị gần bằng nó nhất sau đó xuất hàng đó ra.
Nhưng mình lại không làm được trường hợp này, mong các bạn giúp đỡ, có demo càng tốt!
Cám ơn các bạn!
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.!
(02-02-13, 03:41 PM)quyvt1993 Đã viết: Mình có 1 chương trình thế này:
1 table có chứa các giá trị 2450,1540,4520, 5684......
1 form có Textbox1 tính ra được là 2910
Mình cần viết lệnh để tìm kiếm giá trị textbox1 này ở bên table1, nếu có thì xuất toàn bộ dòng đó của table ra, còn không thì tìm 1 giá trị gần bằng nó nhất sau đó xuất hàng đó ra.
Nhưng mình lại không làm được trường hợp này, mong các bạn giúp đỡ, có demo càng tốt!
Cám ơn các bạn!
Tình hình này phải duyêt table thuoi
so_can_tim
min=0
for ( tu_dong_dau den dong_cuoi){
neu abs(so_can_tim -so_trong_record) < min thi
kq=so_can_tim
min=kq
}
kết qua la kq
(02-02-13, 03:41 PM)quyvt1993 Đã viết: Mình có 1 chương trình thế này:
1 table có chứa các giá trị 2450,1540,4520, 5684......
1 form có Textbox1 tính ra được là 2910
Mình cần viết lệnh để tìm kiếm giá trị textbox1 này ở bên table1, nếu có thì xuất toàn bộ dòng đó của table ra, còn không thì tìm 1 giá trị gần bằng nó nhất sau đó xuất hàng đó ra.
Nhưng mình lại không làm được trường hợp này, mong các bạn giúp đỡ, có demo càng tốt!
Cám ơn các bạn!
Tình hình này phải duyêt table thuoi
so_can_tim
min=0
for ( tu_dong_dau den dong_cuoi){
neu abs(so_can_tim -so_trong_record) < min thi
kq=so_can_tim
min=kq
}
kết qua la kq
Không khả thi! Ở đây có hai trường hợp Tìm gần đúng dưới và tìm gần đúng trên.
Ví dụ dãy số : 1, 2, 5, 8, 4, 10, 9, 15. Giá trị cần tim là 3. Giá trị Tìm gần đúng dưới là 2, Giá trị Tìm gần đúng trên là 4
Nếu tìm như bạn tanthuc, kết quả sẽ là Tìm gân đúng dươi = 1, Tìm gần đúng trên = 5
Thân mến
Mình có 1 vòng lặp thế này nhưng chạy thì nó toàn đứng:
Bây h mình cần tìm sovongquay trong bảng DCD_SGA_3000, tìm theo textbox sovongquay
[code]Do
If DCount("sovongquay", "DCD_SGA_3000", "sovongquay = '" & sovongquay & "'") > 0 Then
tg = 1
sovongquaydc = sovongquay
Exit Do
Else
sovongquay = sovongquay + 1
End If
Loop Until (tg = 1)
Vòng lặp chạy là đứng máy, mình chỉ cần tìm gần đúng trên thôi
Có bạn nào sửa giúp mình với
(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