Trang 1/4 1 2 3 4 cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 37
  1. #1

    Tạo form tìm kiếm đơn giản trong access

    Bây giờ tôi có một tệp tin CSDL bao gồm các trường Mã, Tên, Địa Chỉ, DT, ... Nói chung là chỉ một bảng thôi. Tôi muốn tạo 1 form kiểu như thế này

    1Combo box load xuống khi không muốn gõ. 1 Subform hiện lên danh sách trong có mã trong combo. Một nút kìm kiếm, một nút thoát. Nút tìm kiếm có mục đích tìm khi không click vào combo mà tự gõ mã.

    Có ai làm được chỉ giùm tui chi tiết chút nha. Cảm ơn nhiều!!

  2. #2
    Tham gia ngày
    03 2008
    Nơi Cư Ngụ
    Đồng ruộng Long An
    Bài gởi
    5,430
    Cảm ơn
    8,440
    Được cảm ơn 9,529 lần trong 4,288 bài viết
    Trích Nguyên văn bởi dinhhe213 View Post
    Bây giờ tôi có một tệp tin CSDL bao gồm các trường Mã, Tên, Địa Chỉ, DT, ... Nói chung là chỉ một bảng thôi. Tôi muốn tạo 1 form kiểu như thế này

    1Combo box load xuống khi không muốn gõ. 1 Subform hiện lên danh sách trong có mã trong combo. Một nút kìm kiếm, một nút thoát. Nút tìm kiếm có mục đích tìm khi không click vào combo mà tự gõ mã.

    Có ai làm được chỉ giùm tui chi tiết chút nha. Cảm ơn nhiều!!
    Tạo 1 query
    Code:
    SELECT Table1.STT, Table1.NGÀY, Table1.TÊN, Table1.[MA MAY], Table1.[MA KH]
    FROM Table1
    WHERE (((Table1.[MA KH]) Like [forms]![form1]![loc]));
    Tạo form có tên là Form1

    Trên form thiết kế các object như sau:

    -Subform có tên: KH

    -Combobox: loc
    RowSource:

    Code:
    SELECT Table1.[MA KH], Table1.TÊN
    FROM Table1
    GROUP BY Table1.[MA KH], Table1.TÊN;
    Code cho Combo

    Code:
    Private Sub loc_AfterUpdate()
    Forms!form1.KH.SourceObject = "Query.Query1"
    
    End Sub
    -CommandButton: cmdTatCa, caption: Tất Cả

    Code:
    Private Sub cmdTatCa_Click()
    loc = "*"
    Forms!form1.KH.SourceObject = "Query.Query1"
    
    End Sub
    -CommandButton: cmdThoat, caption: Thoát

    Code:
    Private Sub cmdThoat_Click()
    On Error GoTo Err_cmdThoat_Click
    
    
        DoCmd.Close
    
    Exit_cmdThoat_Click:
        Exit Sub
    
    Err_cmdThoat_Click:
        MsgBox Err.Description
        Resume Exit_cmdThoat_Click
        
    End Sub
    Code cho form

    Code:
    Private Sub Form_Load()
    loc = "*"
    Forms!form1.KH.SourceObject = "Query.Query1"
    End Sub
    Tập tin đính kèm Tập tin đính kèm
    • Loại tập tin: rar LOc.rar (21.9 KB, 3678 lần tải)
    Già của tuổi trẻ, trẻ của tuổi già.

  3. Có 7 thành viên cảm ơn Hai Lúa Miền Tây về bài viết này:


  4. #3
    A ơi! Làm Query thế này hay bị lỗi quá. Không biết nhưng mà e làm bị lỗi hoài cứ xoá đi làm lại nhiều lần quá. Nó báo lỗi thế này

    Thật ra e ko chỉ làm lọc mỗi mã đâu, e còn lọc thêm ngày tháng, tên và nhiều nữa. E lấy code của a làm mẫu nhưng mà nó báo lỗi nhiều quá ko làm được. Có cách nào khắc phục ko a?
    Cho e hỏi thêm: Nếu mình cho lọc ngay trong table thì có được không?
    thay đổi nội dung bởi: dinhhe213, 05-06-10 lúc 07:56 AM

  5. #4
    Theo tôi đề nghị, bạn không cần phải làm thêm nút Tìm kiếm.
    Bạn chỉ cần áp dụng cách thiết kế Master - Detail của Access là được.

    Giả sử cái combo box của bạn có tên là cboMAMAY.
    Bạn chọn cái subform, mở cửa sổ Properties ra, vào cái thẻ Data, chọn:
    Link Master Fields: cboMAMAY
    Link Child Fields: MAMAY

    Vậy là OK rồi. Mỗi khi có sự thay đổi nội dung combo box, nó sẽ thay đổi dữ liệu trong subform

  6. Thành viên sau cảm ơn phatnq2002 về bài viết này:


  7. #5
    Tham gia ngày
    03 2008
    Nơi Cư Ngụ
    Đồng ruộng Long An
    Bài gởi
    5,430
    Cảm ơn
    8,440
    Được cảm ơn 9,529 lần trong 4,288 bài viết
    Trích Nguyên văn bởi dinhhe213 View Post
    A ơi! Làm Query thế này hay bị lỗi quá. Không biết nhưng mà e làm bị lỗi hoài cứ xoá đi làm lại nhiều lần quá. Nó báo lỗi thế này

    Thật ra e ko chỉ làm lọc mỗi mã đâu, e còn lọc thêm ngày tháng, tên và nhiều nữa. E lấy code của a làm mẫu nhưng mà nó báo lỗi nhiều quá ko làm được. Có cách nào khắc phục ko a?
    Cho e hỏi thêm: Nếu mình cho lọc ngay trong table thì có được không?
    Bạn gửi cái file của bạn lên mình sẽ xem giúp, có thể sẽ không dùng phương pháp cũ để lọc.
    Già của tuổi trẻ, trẻ của tuổi già.

  8. #6
    Tham gia ngày
    03 2007
    Nơi Cư Ngụ
    TP. HCM
    Bài gởi
    1,999
    Cảm ơn
    2,595
    Được cảm ơn 17,229 lần trong 1,727 bài viết

    Smile

    Xem file mẫu này cũng hay nè bạn :)
    Tập tin đính kèm Tập tin đính kèm

  9. Có 3 thành viên cảm ơn TranThanhPhong về bài viết này:


  10. #7
    Tham gia ngày
    12 2009
    Bài gởi
    17
    Cảm ơn
    5
    Được cảm ơn 23 lần trong 7 bài viết
    Em là thành viên mới của GPE ạ. Bữa rồi trong lúc làm Chương trình cho công ty, em vào xem topic của các anh ạ
    Em áp dụng như file Access anh gửi nhưng không hiêu sao báo lỗi và không chạy được

    Đây là đoạn codes

    Private Sub Command23_Click()
    ' Update the record source
    Me.frmsubDulieuKhachhangXK.Form.RecordSource = "SELECT * FROM QryCIFXK " & BuildFilter
    (đây là chỗ bị báo lỗi method not found ạ)

    ' Requery the subform
    Me.frmsubDulieuKhachhangXK.Requery
    End Sub
    Private Function BuildFilter() As Variant
    Dim varWhere As Variant
    varWhere = Null ' Main filter

    If Me.Chinhanh_filter > 0 Then
    varWhere = varWhere & "[Chi_Nhanh] = " & Me.Chinhanh_filter & " AND "
    End If
    If Me.Khachhang_filter > "" Then
    varWhere = varWhere & "[Khach_Hang] LIKE """ & Me.Khachhang_filter & "*"" AND "
    End If
    If Me.CIF_filter > "" Then
    varWhere = varWhere & "[CIF] LIKE """ & Me.CIF_filter & "*"" AND "
    End If
    If Me.Taikhoan_filter > "" Then
    varWhere = varWhere & "[Tai_Khoan] LIKE """ & Me.Taikhoan_filter & "*"" AND "
    End If
    If Me.Bieuphi_filter > "" Then
    varWhere = varWhere & "[Bieu_Phi] LIKE """ & Me.Bieuphi_filter & "*"" AND "
    End If
    If Me.Ghichu_filter > "" Then
    varWhere = varWhere & "[Ghi_Chu] LIKE """ & Me.Khachhang_filter & "*"" AND "
    End If

    BuildFilter = varWhere
    End Function

    Em đã kiểm tra hết mà không hiểu sai ở đâu. Mong các anh giúp em. Em cảm ơn nhìu.

  11. #8
    Tham gia ngày
    12 2009
    Bài gởi
    17
    Cảm ơn
    5
    Được cảm ơn 23 lần trong 7 bài viết
    Đây là file Access của em ạ
    Tập tin đính kèm Tập tin đính kèm

  12. #9
    Tham gia ngày
    08 2006
    Bài gởi
    96
    Cảm ơn
    9
    Được cảm ơn 45 lần trong 32 bài viết
    Trích Nguyên văn bởi bio87 View Post
    Đây là file Access của em ạ
    1. Tham chiếu subform sai: (xem lại subform Name # subform label) cái bạn đang tham chiếu là subform label , bạn cần biết chính xác subform name
    2. Câu query của bạn viết nhìn vào chả hiểu ráo: theo minh hiểu là bạn dùng cấu trúc
    Select * from Query{source} Where Col1 = "xxx" and col2 = "yyy"
    Tuy nhiên mình thấy bạn định nghĩa varWhere không biết có giống Where ? giống thì mới xét tiếp, nếu không thì exit sub mà debug là vừa
    Phải hiểu được cấu trúc của câu SQL kia mới viết được điều kiện mà bạn viết là BuildFilter()
    ---------------
    Đúng hơn hãy viết cái sub nhìn cho rõ ràng dễ hiểu, kiểu:
    Code:
    dim strSQl as string
    if condition (1) then
    strSQL= " " 
    else if condition (2) then
    strSQl=" "
    end if
    Forms!Form_main!Form_sub.form.recordSource = strSQL
    Forms!Form_main!Form_sub.form.recordSource.Requery

  13. Thành viên sau cảm ơn nguoiconxunui về bài viết này:


  14. #10
    Tham gia ngày
    12 2009
    Bài gởi
    17
    Cảm ơn
    5
    Được cảm ơn 23 lần trong 7 bài viết
    - Em đã sửa lại cái Subform Name rùi ạ. Nhưng lại nảy sinh vấn đề. Nó bào lỗi cái từ FROM ở trong câu lệnh:
    Me.frmsubDulieuKhachhangXK.Form.RecordSource = "SELECT * FROM QryCIFXK " & BuildFilter. Lỗi FROM syntax error.
    - Cái BuildFilter em tham khảo chỗ file Access của anh TranThanhPhong. Em muốn lọc dữ liệu theo nhiều điều kiện. Nếu lọc dữ liệu theo một điều kiện thì em có thể tạo Query cho DataSource của Subform được mà. Mà em thấy Query trong cho Form chỉ lọc theo một điều kiện thôi phải không ạ.
    - Chú thích cái codes của em là 1 cai sub với 1 cái function ạ
    Cái Function này là :

    Private Function BuildFilter() As Variant
    Dim varWhere As Variant
    varWhere = Null ' Main filter

    If Me.Chinhanh_filter > 0 Then
    varWhere = varWhere & "[Chi_Nhanh] = " & Me.Chinhanh_filter & " AND "
    End If
    If Me.Khachhang_filter > "" Then
    varWhere = varWhere & "[Khach_Hang] LIKE """ & Me.Khachhang_filter & "*"" AND "
    End If
    If Me.CIF_filter > "" Then
    varWhere = varWhere & "[CIF] LIKE """ & Me.CIF_filter & "*"" AND "
    End If
    If Me.Taikhoan_filter > "" Then
    varWhere = varWhere & "[Tai_Khoan] LIKE """ & Me.Taikhoan_filter & "*"" AND "
    End If
    If Me.Bieuphi_filter > "" Then
    varWhere = varWhere & "[Bieu_Phi] LIKE """ & Me.Bieuphi_filter & "*"" AND "
    End If
    If Me.Ghichu_filter > "" Then
    varWhere = varWhere & "[Ghi_Chu] LIKE """ & Me.Khachhang_filter & "*"" AND "
    End If

    BuildFilter = varWhere
    End Function

    Cái Varwhere chính là Where trong cấu trúc mà anh nói đấy ạ
    Select * from Query{source} Where ...... Còn cái BuildFilter chính là các điều kiện sau Where.
    Em cảm ơn sự giúp đỡ của anh nhiều lắm.

  15. Thành viên sau cảm ơn bio87 về bài viết này:


Trang 1/4 1 2 3 4 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. Cần giúp tạo form trong access
    Viết bởi transyhongvn trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 1
    Bài mới gởi: 05-04-11, 12:59 PM
  2. Cách lọc ngày và giá trị trên form trong MS Access
    Viết bởi Hai Lúa Miền Tây trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 7
    Bài mới gởi: 15-03-11, 10:17 PM
  3. Form trong access có sắp xếp và thêm
    Viết bởi ttt3te trong chuyên mục Cơ sở dữ liệu
    Trả lời: 1
    Bài mới gởi: 28-11-10, 02:02 PM
  4. Hỏi về form trong Access
    Viết bởi phungvinhquang trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 5
    Bài mới gởi: 27-07-10, 02:37 PM
  5. Cách bảo vệ form trong access
    Viết bởi hoangminhtien trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 1
    Bài mới gởi: 25-06-09, 03:12 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]