Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Lọc dữ liệu trên combobox
#11
Ai giúp mình vấn đề này xíu được không ạ, mình cảm ơn
Chữ ký của congmanh333 congmanh333,gia nhập Thủ Thuật Access từ 04-12 -15.
Reply
Những người đã cảm ơn
#12
007  Tôi cứ nghĩ là bạn sẽ dựa vào code nút [Thêm] để tự viết tiếp cho các nút [Sửa], [Xóa] là làm qui trình ngược lại để rs!HetCho = 0.

Tôi thấy bạn thiết kế qui trình thao tác, xử lý các nút (Thêm mới, Sửa, Làm mới) không được logic cho lắm. Tôi đề cập đến vấn đề này vì sẽ liên quan đến việc viết code thực thi nhiệm vụ các command button.
Theo cách của bạn:
- Chọn [Làm mới] -> nhập liệu -> bấm [Thêm mới]. Nhưng khi thêm mới, thì nó chỉ báo đã thêm thành công và nội dung record vẫn giữa nguyên, không nhảy sang record mới hoặc [Đóng]. Vậy người dùng có thể không biết đã lưu hay chưa và bấm lưu tiếp (Mặc dù có hiện thông báo là record đã tồn tại).
- Nút [Sửa]: nếu bạn muốn sửa record đã nhập trước đó thì làm sao? Nút này chỉ có tác dụng [Sửa] đối với record đang nhập thôi. Chưa kể nút Sửa của bạn chạy không đúng y/c.
- Trong code kiểm tra tính hợp lệ của các mã link kiện, mã vị trí... bạn không cho thoát - "Exit Sub" khi điều kiện không thõa nên  chương trình vẫn chạy tiếp các dòng code bên dưới nó. 
Bạn xem chỉnh sửa lại đi nhé.
Về nút [Sửa], [Xóa] bạn phải trả cái hiện trạng của field [HetCho] về lại No (0). Cách làm là trước khi thay đổi, sẽ lưu [mavitri] hiện tại vào 1 biến tạm. Khi thay đổi vị trí, đối chiếu với biến tạm nếu giống thì thôi, nếu không giống thì dò tìm trong table vị trí theo biến tạm và update nó thành 0. Update mã vị trí mới =1.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#13
Cảm ơn, mình sẽ xem lại 007
Chữ ký của congmanh333 congmanh333,gia nhập Thủ Thuật Access từ 04-12 -15.
Reply
Những người đã cảm ơn
#14
Em chào mọi người,
Em hiện đang bị vướng phần tìm kiếm trong combobox như sau:
Theo mặc định thì khi ấn nút mũi tên trong combox thì sẽ hiện lên một lọạt danh sách. Mình mốn tìm một dòng trong các danh sách đó thì gõ chữ cái đầu tiên nó mới hiện ra còn không thì không có gì. Đối với danh sách ít thì tự chọn, còn nếu dài thì quả là khó. Vì vậy em muốn là gõ bất kỳ ký tự nào thì nó sẽ chuyển đến dòng tương ứng (nếu có ký tự giống là ok).

Mong mọi người giúp đỡ,
Chữ ký của vucongpda Xin chào, mình là vucongpda, Tham gia http://thuthuataccess.com/forum từ ngày 25-10 -14.
Reply
Những người đã cảm ơn
#15
(20-12-15, 05:56 PM)vucongpda Đã viết: Em chào mọi người,
Em hiện đang bị vướng phần tìm kiếm trong combobox như sau:
Theo mặc định thì khi ấn nút mũi tên trong combox thì sẽ hiện lên một lọạt danh sách. Mình mốn tìm một dòng trong các danh sách đó thì gõ chữ cái đầu tiên nó mới hiện ra còn không thì không có gì. Đối với danh sách ít thì tự chọn, còn nếu dài thì quả là khó. Vì vậy em muốn là gõ bất kỳ ký tự nào thì nó sẽ chuyển đến dòng tương ứng (nếu có ký tự giống là ok).

Mong mọi người giúp đỡ,

Bạn xem cách của anh tranthanhan1962 theo link bên dưới nhé. Dùng Listbox thay thế combobox.
http://thuthuataccess.com/forum/thread-8426.html

Nếu bạn muốn tìm trực tiếp trên combo box thì theo cách dưới đây. Cách làm là cập nhật chuỗi tìm kiếm khi gõ phím trong combo box, đưa chuỗi đó vào chuỗi SQL, sau đó thay đổi RecordSource của ComboBox bằng câu lệnh SQL đó.

[Hình: SearchInCombobox.png]

File ví dụ:
- Tạo table tblNhanVien (ID, HoTen)
- Form1 có combobox [cboHoTen] và code cho event On Change như sau:

Mã PHP:
Private Sub cboHoTen_Change()
   Dim strTextstrFind As String
   strText 
Me.cboHoTen.Text
   If Len
(Trim(strText)) > 0 Then
       strFind 
"HoTen Like '"
       Dim i As Integer
       Dim strSQL 
As String
       For i 
1 To Len(Trim(strText))
           If (Right(strFind1) = "*"Then
               strFind 
Left(strFindLen(strFind) - 1)
           End If
       strFind strFind "*" Mid(strTexti1) & "*"
       Next
       strFind 
strFind "'"
       strSQL "SELECT tblNhanVien.ID, tblNhanVien.HoTen FROM tblNhanVien Where " strFind ";"
       Me.cboHoTen.RowSource strSQL
   Else
       strSQL 
"SELECT tblNhanVien.ID, tblNhanVien.HoTen FROM tblNhanVien;"
       Me.cboHoTen.RowSource strSQL
   End 
If

   Me.cboHoTen.Dropdown
End Sub 

File demo: TimKiemTrongComboBox.mdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vucongpda
#16
(20-12-15, 09:17 PM)ongke0711 Đã viết:
(20-12-15, 05:56 PM)vucongpda Đã viết: Em chào mọi người,
Em hiện đang bị vướng phần tìm kiếm trong combobox như sau:
Theo mặc định thì khi ấn nút mũi tên trong combox thì sẽ hiện lên một lọạt danh sách. Mình mốn tìm một dòng trong các danh sách đó thì gõ chữ cái đầu tiên nó mới hiện ra còn không thì không có gì. Đối với danh sách ít thì tự chọn, còn nếu dài thì quả là khó. Vì vậy em muốn là gõ bất kỳ ký tự nào thì nó sẽ chuyển đến dòng tương ứng (nếu có ký tự giống là ok).

Mong mọi người giúp đỡ,

Bạn xem cách của anh tranthanhan1962 theo link bên dưới nhé. Dùng Listbox thay thế combobox.
http://thuthuataccess.com/forum/thread-8426.html

Nếu bạn muốn tìm trực tiếp trên combo box thì theo cách dưới đây. Cách làm là cập nhật chuỗi tìm kiếm khi gõ phím trong combo box, đưa chuỗi đó vào chuỗi SQL, sau đó thay đổi RecordSource của ComboBox bằng câu lệnh SQL đó.

[Hình: SearchInCombobox.png]

File ví dụ:
- Tạo table tblNhanVien (ID, HoTen)
- Form1 có combobox [cboHoTen] và code cho event On Change như sau:

Mã PHP:
Private Sub cboHoTen_Change()
   Dim strTextstrFind As String
   strText 
Me.cboHoTen.Text
   If Len
(Trim(strText)) > 0 Then
       strFind 
"HoTen Like '"
       Dim i As Integer
       Dim strSQL 
As String
       For i 
1 To Len(Trim(strText))
           If (Right(strFind1) = "*"Then
               strFind 
Left(strFindLen(strFind) - 1)
           End If
       strFind strFind "*" Mid(strTexti1) & "*"
       Next
       strFind 
strFind "'"
       strSQL "SELECT tblNhanVien.ID, tblNhanVien.HoTen FROM tblNhanVien Where " strFind ";"
       Me.cboHoTen.RowSource strSQL
   Else
       strSQL 
"SELECT tblNhanVien.ID, tblNhanVien.HoTen FROM tblNhanVien;"
       Me.cboHoTen.RowSource strSQL
   End 
If

   Me.cboHoTen.Dropdown
End Sub 

File demo: TimKiemTrongComboBox.mdb

Cảm ơn bạn nhé, đã chạy ok rồi.
Chữ ký của vucongpda Xin chào, mình là vucongpda, Tham gia http://thuthuataccess.com/forum từ ngày 25-10 -14.
Reply
Những người đã cảm ơn
#17
Ongke0711 cho mình hỏi thêm một chút về việc tìm kiếm trên Combobox.
Mình đã làm như hướng dẫn theo đoạn code bạn gửi và đã chạy ok. Tuy nhiên nó còn một chỗ mà mình thấy hơi bất tiện đó là:
-Sau khi mã đã gõ một chữ bất kỳ. Thì trong Combo sẽ hiện lên một loạt danh sách có từ liên quan vừa nhập vào. Nhưng mình muốn sử dụng phím mũi tên Page Dow để xuống dòng mình cần nhưng không được (hiện thị 1 dòng thì kéo được xuống, từ 2 trở lên là không được. Phải dùng chuột tích vào (hơi bất tiện).

Mong bạn hướng dẫn giúp nhé.
Cảm ơn bạn nhiều
Chữ ký của vucongpda Xin chào, mình là vucongpda, Tham gia http://thuthuataccess.com/forum từ ngày 25-10 -14.
Reply
Những người đã cảm ơn
#18
Muốn hiển thị nhiều dòng để chọn bạn chỉ có thể dùng Listbox. Tìm kếm bằng listbox có nhiều bài viết trong diễn đàn đó bạn.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (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
  [Help] Tạo combobox liên kết nguyendaivuong 4 325 01-10-16, 12:16 AM
Bài mới nhất: lamvankhanh
Wink [Hỏi] cần giúp cách tạo form tìm kiếm từ 1 table và lưu trên 1 table khác chinsuphuc 3 246 23-06-16, 11:36 AM
Bài mới nhất: cpucloi
  [Help] Cách chuyển đổi dữ liệu text sang ngày tháng năm quocdung9999 2 148 23-05-16, 09:32 AM
Bài mới nhất: quocdung9999
  [Help] Bài tập Access về truy vấn dữ liệu, nhờ anh chị xem giúp em ạ itnguyenlam 0 470 23-05-15, 12:10 PM
Bài mới nhất: itnguyenlam
  [Lỗi] Lỗi khi chèn dữ liệu vào Table tqcuong 1 666 25-08-14, 04:25 PM
Bài mới nhất: MatTroiNguQuen

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ơ