Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Mình cần các bạn giúp làm một form tìm kiếm gần bằng
#1
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!
Chữ ký của quyvt1993 Xin chào, mình là quyvt1993, Tham gia http://thuthuataccess.com/forum từ ngày 30-09 -12.
Reply
Những người đã cảm ơn
#2
Nói dài dòng túm lại mình muốn hỏi code cho tìm kiếm gần đúng, hic 040
Chữ ký của quyvt1993 Xin chào, mình là quyvt1993, Tham gia http://thuthuataccess.com/forum từ ngày 30-09 -12.
Reply
Những người đã cảm ơn
#3
dùng hàm LIKE thay cho dấu bằng "=" trong code tìm kiếm. Bạn nên tìm kiếm mấy bài hướng dẫn về code tìm kiếm trong 4rum trước rồi tự nghiên cứu nhé!
Chữ ký của khanhduycsgt Chào Guest, có mánh nào hay thì chia sẻ cho mình biết với nhé! Và hãy thanks bằng cách bấm nút Thanks để tỏ rõ mình là người lịch sự nào! ^^
Reply
Những người đã cảm ơn
#4
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.!
Chữ ký của quyvt1993 Xin chào, mình là quyvt1993, Tham gia http://thuthuataccess.com/forum từ ngày 30-09 -12.
Reply
Những người đã cảm ơn
#5
Thời gian này quá bận nên không thể giúp gì được. Trong Excel thì chỉ cần ...5' là có kết quả
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
(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
Chữ ký của tanthuc Xin chào, mình là tanthuc, Tham gia http://thuthuataccess.com/forum từ ngày 04-10 -12.
Reply
Những người đã cảm ơn
#7
(04-02-13, 09:18 AM)tanthuc Đã viết:
(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
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
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
Chữ ký của quyvt1993 Xin chào, mình là quyvt1993, Tham gia http://thuthuataccess.com/forum từ ngày 30-09 -12.
Reply
Những người đã cảm ơn
#9
(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 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
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
File của mình đây!:http://www.mediafire.com/?2jail2ccpf6k9rd
Chữ ký của quyvt1993 Xin chào, mình là quyvt1993, Tham gia http://thuthuataccess.com/forum từ ngày 30-09 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Tự động hiện Form khi loading hết thời gian ChiMai 1 36 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 199 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq
Photo [Hỏi] Mở Form trên access 2007 báo lỗi jason 5 187 22-11-16, 09:23 AM
Bài mới nhất: jason
  Query hiện lên trên form? feeling 4 162 09-11-16, 09:49 PM
Bài mới nhất: toancvp
  [Help] Chỉnh giúp Form thống kê hoanghai902 2 124 28-10-16, 06:15 PM
Bài mới nhất: hoanghai902

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ