Đánh giá chủ đề:
  • 5 Votes - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thao tác với combobox
#1
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
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn darkmoon , alilibababa
#2
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
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
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??
Chữ ký của khanghai Xin chào, mình là khanghai, Tham gia http://thuthuataccess.com/forum từ ngày 04-05 -11.
Reply
Những người đã cảm ơn
#4
(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 đó!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
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!!!
Chữ ký của khanghai Xin chào, mình là khanghai, Tham gia http://thuthuataccess.com/forum từ ngày 04-05 -11.
Reply
Những người đã cảm ơn
#6
chọn tất cả thì : like *
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan
#7
(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!!
Chữ ký của khanghai Xin chào, mình là khanghai, Tham gia http://thuthuataccess.com/forum từ ngày 04-05 -11.
Reply
Những người đã cảm ơn
#8
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


File đính kèm
.zip   data file.zip (Kích cỡ: 274.91 KB / Tải về: 84)
Chữ ký của haquocquan Guest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , Cafe Via He
#9
(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


Chữ ký của khanghai Xin chào, mình là khanghai, Tham gia http://thuthuataccess.com/forum từ ngày 04-05 -11.
Reply
Những người đã cảm ơn
#10
bạn đặt thế này cho điều kiện mã Phòng Ban

Mã:
Like IIf([CBOBP]=8,"*",[cbobp])
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 209 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq
  [Help] tạo 2 combobox liên kết giá trị trong một table trên form tronghieu9792 2 164 31-08-16, 08:48 AM
Bài mới nhất: tronghieu9792
  [Hỏi] Loại bỏ trường trùng lặp trên combobox tvn_hut 3 240 03-07-16, 09:53 AM
Bài mới nhất: cpucloi
  [Help] Không sử dụng lọc combobox trên subform theo điều kiện được? tvn_hut 9 394 04-06-16, 08:17 PM
Bài mới nhất: tvn_hut
  [Hỏi] Hỏi cách chọn combobox tự động cannguyen 6 585 03-06-16, 11:40 PM
Bài mới nhất: cannguyen

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ơ