• Thao tác với combobox
  • Thao tác với combobox

    Noname > 19-09-10, 09:33 PM

    Tác giả: hungtano
    Site: khoahocphothong.net

    Hỏi : Tôi có 1 combo box (cboMaHang), tôi muốn khi con chuột hoặc con trỏ nhảy đến cboMahang thì hộp danh sách tự động thả xuống, phải làm sao ?


    Đáp : có nhiều cách, cách đơn giản nhất là tận dụng method sãn có của combo box : Dropdown.
    Cách dùng:
    Mã:
    Private Sub cboMahang_GotFocus()
    cboMahang.Dropdown
    End Sub
    __________________________________
    Hỏi : Tôi có 1 combo box (cboMaHang), tôi muốn khi người dùng đánh mã hàng không có trong hộp danh sách thì hiện lên thông báo lỗi, phải làm sao ?

    Đáp : dùng sự kiện NotInList của combo box

    Private Sub cboMaHang_NotInList(NewData As String, Response As Integer)
    Mã:
    Response = acDataErrContinue
    MsgBox "Ma hang nay khong co.", , "Bao loi !"
    End Sub

    Bổ sung : Mở properties của cboMaHang --> Tab Data --> Limit To List : Yes
  • RE: Thao tác với combobox

    Noname > 19-09-10, 09:34 PM

    Hỏi : Tôi có 1 combo box (cboMaHang), Số mã hàng trong table lên đến 2000 record. khi tôi mở Form, mở cboMahang, kéo thanh trượt của hộp danh sách để tìm mã hàng thì thấy từng record hiện lên rất chậm (nếu số mã hàng chỉ có 15 - 20 record thì rất nhanh). Có cach gì đơn giản và nhanh khi duyệt qua từng record trong hộp danh sách của combo box hay không ?

    Đáp:
    Giải thích : Khi bắt đầu kéo thanh trượt của hộp danh sách, bộ nhớ của máy tính mới bắt đầu tải các record từ table vào bộ nhớ để hiện lên trên form. Nếu số recod càng nhiều thì thời gian tải sẽ càng lâu.

    Để khắc phục tình trạng này, ta sẽ cho chương trình tải tất cả các record vào bộ nhớ ngay khi mở Form. Nhờ đó, khi nhảy đến combo box, hộp danh sach sẽ hiện các danh sách rất nhanh vì đã có sẵn các record trong bộ nhớ máy tính.

    Cách làm :

    Ở sự kiện Form_Load

    Mã:
    Private Sub Form_Load()
    Dim lngCount As Variant
    lngCount = cboMaHang.ListCount
    End Sub
  • RE: Thao tác với combobox

    khanghai > 04-05-11, 04:43 PM

    Cho e hỏi với...
    E có xài combobox muốn hiện tất cả mã hàng thì thế nào dza??
  • RE: Thao tác với combobox

    Noname > 04-05-11, 07:56 PM

    (04-05-11, 04:43 PM)khanghai Đã viết: Cho e hỏi với...
    E có xài combobox muốn hiện tất cả mã hàng thì thế nào dza??

    đặc câu sql trong row source của combobox

    Muốn hiện cái gì thì select cái đó!
  • RE: Thao tác với combobox

    khanghai > 05-05-11, 10:22 AM

    MABP TENBP
    1 TỔ ANH HẬU
    2 TỔ ANH TÀI
    3 TỔ ANH TRUNG
    4 VĂN PHÒNG
    5 TỔ DESIGN
    6 TỔ PHÒNG SÁP
    7 TỔ PHÒNG XOÀN
    8 ALL

    đây là 1table phòng ban..khi sử dụng combo box...trong mainform và subform.
    chọn từng phòng ban e làm được rùi.Nhưng e muốn chọn tất cả thì viết câu lênh ntn??
    Chỉ dùm e hen..
    Thanks!!!
  • RE: Thao tác với combobox

    Noname > 05-05-11, 02:50 PM

    chọn tất cả thì : like *
  • RE: Thao tác với combobox

    khanghai > 05-05-11, 05:00 PM

    (05-05-11, 02:50 PM)Noname Đã viết: chọn tất cả thì : like *

    http://www.mediafire.com/?cb46iu4q5a267ca

    A vào xem dùm e??
    Ở Form tong hop luong nhan vien
    combo box TỔ
    chọn từng phòng ban thì làm được nhưng khi chọn tất cả thì e hok làm được...
    Nếu có viết code thì chỉ dùm e..
    thanks!!
  • RE: Thao tác với combobox

    haquocquan > 06-05-11, 01:30 AM

    Trong trường hợp này: mình sẽ không có ALL trong t01_phongban
    Khi ở FORM bạn muốn hiện tất cả thì để trống.
    Đồng thời sửa rowsource của SUBFORM (đoạn nàyhappy
    Mã:
    WHERE ((([Q_LUONG NHAN VIEN SUB].MABP) Like [CBOBP]&"*") AND ((Format([THANG],"MM"))=[CBOTHANG TONG HOP LUONG NV]));
    Bạn xem file
  • RE: Thao tác với combobox

    khanghai > 06-05-11, 09:25 AM

    (06-05-11, 01:30 AM)haquocquan Đã viết: Trong trường hợp này: mình sẽ không có ALL trong t01_phongban
    Khi ở FORM bạn muốn hiện tất cả thì để trống.
    Đồng thời sửa rowsource của SUBFORM (đoạn nàyhappy
    Mã:
    WHERE ((([Q_LUONG NHAN VIEN SUB].MABP) Like [CBOBP]&"*") AND ((Format([THANG],"MM"))=[CBOTHANG TONG HOP LUONG NV]));
    Bạn xem file

    Thanks A nhiều...
    Nhưng e muốn thêm 1 row "ALL" ở table t01_phong ban
    Để kết hợp với nút command show all


  • RE: Thao tác với combobox

    Noname > 06-05-11, 10:37 AM

    bạn đặt thế này cho điều kiện mã Phòng Ban

    Mã:
    Like IIf([CBOBP]=8,"*",[cbobp])