• Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox
  • Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    Minh Tiên > 08-01-23, 12:53 PM

    Xin chào cả nhà !
    Tiên có 1 "mong muốn": Khi rõ 1 ký tự vào 1 TextBox hoặc Combobox thì sẽ lấy ngay giá trị của TextBox/Combobox này để tham chiếu cho sql nạp Rowsource cho 1 Listbox trên cùng form.
    Tiên dùng lệnh Me!Textbox.Text để lấy, nhưng lệnh này lúc chạy đc, lúc báo lỗi 2185. Tiên đã search trên Net vẫn chưa tìm rà cách giải quyết. Nhờ ACE nghiên cứu có cách nào giải quyết được "mong muốn" trên ko ?
    Cảm ơn cả nhà !
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    ongke0711 > 08-01-23, 01:33 PM

    Bạn đừng dùng phương thức .Text mà đổi qua .Value để lấy giá trị của textbox đó khi con trỏ không nằm trong nó.
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    Minh Tiên > 08-01-23, 08:21 PM

    (08-01-23, 01:33 PM)ongke0711 Đã viết: Bạn đừng dùng phương thức .Text mà đổi qua .Value để lấy giá trị của textbox đó khi con trỏ không nằm trong nó.

    Cảm ơn ongke0711 !
    Phương thức .value chỉ lấy được giá trị khi BeforeUpdate hoặc AfterUpdate, không lấy được giá trị khi KeyChange hoặc KeyPress bạn !
    Mình muốn lấy giá trị mỗi khi gõ 1 key vào Textbox/Combobox.
    Thân./.
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    AnNguyen > 09-01-23, 09:44 AM

    (08-01-23, 12:53 PM)Minh Tiên Đã viết: Xin chào cả nhà !
    Tiên có 1 "mong muốn": Khi rõ 1 ký tự vào 1 TextBox hoặc Combobox thì sẽ lấy ngay giá trị của TextBox/Combobox này để tham chiếu cho sql nạp Rowsource cho 1 Listbox trên cùng form.
    Tiên dùng lệnh Me!Textbox.Text để lấy, nhưng lệnh này lúc chạy đc, lúc báo lỗi 2185. Tiên đã search trên Net vẫn chưa tìm rà cách giải quyết. Nhờ ACE nghiên cứu có cách nào giải quyết được "mong muốn" trên ko ?
    Cảm ơn cả nhà !

    Em hay dùng sự kiện KeyUp anh nhé. và lấy giá trị là .Text ạ.
    Em thường dùng cái này để search tìm kiếm gõ 1 chữ là nó tìm kiếm luôn. không rõ đúng ý anh không ạ.
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    Minh Tiên > 09-01-23, 11:30 AM

    (09-01-23, 09:44 AM)AnNguyen Đã viết:
    (08-01-23, 12:53 PM)Minh Tiên Đã viết: Xin chào cả nhà !
    Tiên có 1 "mong muốn": Khi rõ 1 ký tự vào 1 TextBox hoặc Combobox thì sẽ lấy ngay giá trị của TextBox/Combobox này để tham chiếu cho sql nạp Rowsource cho 1 Listbox trên cùng form.
    Tiên dùng lệnh Me!Textbox.Text để lấy, nhưng lệnh này lúc chạy đc, lúc báo lỗi 2185. Tiên đã search trên Net vẫn chưa tìm rà cách giải quyết. Nhờ ACE nghiên cứu có cách nào giải quyết được "mong muốn" trên ko ?
    Cảm ơn cả nhà !

    Em hay dùng sự kiện KeyUp anh nhé. và lấy giá trị là .Text ạ.
    Em thường dùng cái này để search tìm kiếm gõ 1 chữ là nó tìm kiếm luôn. không rõ đúng ý anh không ạ.

    Cảm ơn AnNguyen.
    Dùng sự kiện KeyUp vẫn báo lỗi 2185 bạn.
    Thân./.
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    ongke0711 > 09-01-23, 12:08 PM

    Vậy bạn xem 2 bài này của tôi nhé.
    https://thuthuataccess.com/forum/thread-10597.html
    https://thuthuataccess.com/forum/post-42...l#pid42818

    Trong bài trên tôi có đề cập một vấn đề khi dùng sự kiện On Change để bắt từ được gõ. Nếu gặp các từ như "Đ" sẽ bị lỗi do từ này kết hợp 2 loại ký tự trong bảng mã, khi On Change chạy, nó chỉ bắt từng ký tự nên sẽ ra không đúng từ cần tìm -> tôi không dùng On Change để bắt ký tự mà dùng sự kiện KeyDown để bắt ký tự.
    Trong demo trên cũng có sự kiện Not in List như bạn đã hỏi trước đây.
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    Minh Tiên > 09-01-23, 04:26 PM

    Cảm ơn Ongke0711.
    Tiên đã viết chạy theo yêu cầu của mình. Còn một vấn đề chưa xử lý được:

    Nếu bỏ lệnh: mCombo.Dropdown thì khi gõ tìm vào cbo Dropdown không tự hiển thị ra và khi chọn thì OK.
    Nhưng nếu để lệnh mCombo.Dropdown thì khi gõ tìm vào cbo Dropdown tự hiển thị và khi chọn giá trị thì DropDown không tự thu lại.
    Có cách nào khắc phục lỗi trên không (Tức khi gõ tìm Dropdown tự bung ra, nhưng khi chọn bằng cách Click chuột vào giá trị thì Dropdown tự thu lại.

    File

    Thanks.
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    ongke0711 > 09-01-23, 08:24 PM

    (09-01-23, 04:26 PM)Minh Tiên Đã viết: Nếu bỏ lệnh: mCombo.Dropdown thì khi gõ tìm vào cbo Dropdown không tự hiển thị ra và khi chọn thì OK.
    Nhưng nếu để lệnh mCombo.Dropdown thì khi gõ tìm vào cbo Dropdown tự hiển thị và khi chọn giá trị thì DropDown không tự thu lại.
    Có cách nào khắc phục lỗi trên không (Tức khi gõ tìm Dropdown tự bung ra, nhưng khi chọn bằng cách Click chuột vào giá trị thì Dropdown tự thu lại.

    Trong cái tác vụ tìm kiếm ngay khi gõ trong comboBox, tôi cũng đã ngâm cứu các kiểu sự kiện để ít xảy ra các phản ứng không trơn tru như ý muốn nên mới dừng lại ở việc dùng sự kiện KeyDown mà không dùng các sự kiện On Change hay AfterUpdate.
    Khi bạn dùng sự kiện AfterUpdate thì bạn thao tác kiểu gì (gõ, click chọn) nó cũng gọi phương thức FilterList do đó nó cứ Dropdown. Để đóng cái DropDown List thì chỉ có 2 phương thức đối với ComboBox là ESC hoặc di chuyển sang control khác. Bạn ngâm cứu đưa 2 cái phương thức này vô Class xem thử chứ tôi đã thử với cái Class hiện tại của bạn thì chưa thành công nhé.  007
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    ongke0711 > 10-01-23, 08:07 PM

    À tôi quên mất là còn phím Tab.
    Bạn dùng phương thức Sendkeys cho phím Tab là được.

    Mã:
    Private Sub mCombo_AfterUpdate()
        If Not mAutoCompleteEnabled Then Call unFilterList
        SendKeys "{Tab}", True
    End Sub
  • RE: Lấy dữ liệu nhập vào Textbox/Combobox để setRowsource ListBox

    AnNguyen > 12-01-23, 09:05 AM

    (09-01-23, 11:30 AM)Minh Tiên Đã viết: Cảm ơn AnNguyen.
    Dùng sự kiện KeyUp vẫn báo lỗi 2185 bạn.
    Thân./.
    Em cũng không hiểu của anh vì sao lỗi
    nhưng em dùng suốt không có vấn đề gì cả, dù là gõ chứ Đ thì nó vẫn tìm kiếm theo chữ Đ.
    Bởi vì trong SQLSV nó chỉ xử lý và trả lại giá trị đã tìm kiếm phù hợp với ký tự mình gõ vào và trả lại list cho combobox thì làm sao nó lỗi được nhỉ?
    Em cũng chưa hiểu lắm!
    Mã:
    Select Case KeyCode
       
        Case 38, 40, 27 ' mui ten len va xuong thi k ap dung de no k tu dong chon
       
        Case Else
            Set cb.Recordset = ExecuteSPWithADOCommand("Select_NhanVien_By_PhongBan", kyTuTimKiem)
            If kyTuTimKiem <> "" Then  ' va kem theo la k co su kien paste
                cb.Dropdown
            End If
        End Select