Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Tạo danh sách tùy chọn cho combo box
#1
Trong chương trình đôi khi bạn có những combo box có nhiều dữ liệu, nội dung dữ liệu phức tạp mà chúng ta không nhớ nổi cụ thể nội dung đó làm cho việc nhập dữ liệu của bạn trở nên khó khăn hơn.
Hôm nay mình chia sẽ kinh nghiệm để thuận tiện hơn khi bạn gặp những trường hợp như vậy.
1. Bạn có 1 form tên form1 chứa combo box cbtext có nguồn từ tblist có field: danhsach là khóa chính
Trong cbtext bạn tùy chọn:
- limit to list : no
Trong sự kiện cbtext_exit bạn nhập:
Mã PHP:
if isnull(cbtext) = false and dcount"danhsach","tblist","danhsach=cbtext) = 1 then
me.cbtext.setfocus    'de dat focus lai vao cbtext bat buoc phai nhap tu danh sach
docmd.openform "
LTDANHSACH
2. Bạn tạo 1 form FRDANHSACH chưa list LTdanhsach
Tùy chọn pop up = yes và modal = yes
Trong list LTdanhsach bạn đặt điều kiện tại field danhsach: like "*" & forms!form1!cbtext & "*"
Trong sự kiện double click của LTdanhsach bạn đặt mã:
Mã PHP:
Forms!form1!cbtext me.LTdanhsach
docmd
.close acform"FRDANHSACH" 
Trong sự kiện LTdanhsach_keypress:
Mã PHP:
If isnull(LTdanhsach) = false then
  
if KeyAscii 13 then        'Khi nhấn út Enter
Forms!form1!cbtext = me.LTdanhsach
docmd.close acform, "FRDANHSACH"
elseif KeyAscii = 27    '
Khi nhấn nút ESC
Forms
!form1!cbtext ""
docmd.close acform"FRDANHSACH"
end iF
end iF 
Khi bạn gõ vào combo box 1 từ hoặc 1 cụm từ nếu nội dung không có trong combo box thì sẽ hiển thị form danh sách cho bạn lựa chọn với những nội dung đã lọc bớt đi để bạn lựa chọn dễ dàng hơn.
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , changkhoonline77
#2
Bạn nói rõ hơn đi hay cho mình xin file để dể hiểu đi bạn.
Mình đang muốn làm 1 combo box khi mình bấm vào thì sẽ hiện một list box kế bên combo box đó với nội dung là những gì đã từng nhập ở combo box đó trước kia và mình chọn nội dung hiển thị ở list box thì sẽ truyền qua combo box. Giống như hiển thị lịch sử của Google vậy. Bạn giúp mình nha!
Chữ ký của changkhoonline77 Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Reply
Những người đã cảm ơn
#3
(06-04-14, 08:41 PM)changkhoonline77 Đã viết: Bạn nói rõ hơn đi hay cho mình xin file để dể hiểu đi bạn.
Mình đang muốn làm 1 combo box khi mình bấm vào thì sẽ hiện một list box kế bên combo box đó với nội dung là những gì đã từng nhập ở combo box đó trước kia và mình chọn nội dung hiển thị ở list box thì sẽ truyền qua combo box. Giống như hiển thị lịch sử của Google vậy. Bạn giúp mình nha!

Giả sử bạn có form1 có control soure là table1 chứa combo1 có nguồn control soure từ field1 của table1. Để tạo được combo box hiện thị như ý bạn nói bạn tạo query1 như sau:
- nguồn: table1
- Chọn field1 có total là Group by.
Trong thủ tục after_update của form bạn đặt code:
Combo1.requery
Đây là file demo
https://www.mediafire.com/?468pq15zbvie5l9
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn changkhoonline77
#4
Mình hiểu danh sách tùy chọn của bạn là gì, giống như việc nhập dữ liệu trong excel. Cũng là cách hay trong việc nhập liệu.
Còn ý của mình muốn hỏi là giống như hình dưới

[img][Hình: sdw_zpsd6124b8b.png][/img]

Theo như cách bạn chỉ mình thì nó chỉ lấy nguồn từ table dữ liệu, còn mình thì muốn 1 table khác chuyên dùng để lưu lịch sử những gì đã nhập vào combo box hay listbox.
Chữ ký của changkhoonline77 Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Reply
Những người đã cảm ơn
#5
Table dữ liệu cũng được xem như lịch sử mà mình đã nhập vào vậy bạn, thực sự thì nó cũng là những gì mình nhập vào combo đó.
Nếu bạn muốn khi nhập danh sách của combo box thả xuống giống như vậy thì bạn nhập code cho sự kiện combo_gotfocus
combo.Dropdown
Như vậy, khi focus di chuyển vào combo thì danh sách sẽ được thả xuống.
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
Dropdown thì mình biết.
Nếu làm trên table dữ liệu thì sẽ bị lưu lại record mới làm sai lệch. Nên mình muốn làm một bảng riêng đó.
Chữ ký của changkhoonline77 Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Reply
Những người đã cảm ơn
#7
(08-04-14, 06:34 PM)changkhoonline77 Đã viết: Dropdown thì mình biết.
Nếu làm trên table dữ liệu thì sẽ bị lưu lại record mới làm sai lệch. Nên mình muốn làm một bảng riêng đó.

Bạn yên tâm, việc lấy dữ liệu cho combo box từ table nguồn không làm thay đổi dữ liệu của table nguồn đâu bạn.
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
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
  Liên kết giữa Combo box và Subform danhxetnghiem 17 2,475 06-04-14, 02:06 PM
Bài mới nhất: paulsteigel
  LỖI ko chon ĐƯỢC Microsoft DAO 3.6 cho Access2007 thquanks 8 980 21-08-13, 05:30 PM
Bài mới nhất: thquanks
  Giúp dùm ẩn hiện Text box và combo box stone18k 4 1,117 16-06-13, 10:39 AM
Bài mới nhất: stone18k
  Lỗi Macro, Kiểu lựa chọn. amentd 5 2,709 07-02-11, 10:19 AM
Bài mới nhất: amentd

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ơ