Chức năng tìm kiếm trong vba

Liên hệ QC

Thanhhoai00

Thành viên chính thức
Tham gia
19/7/20
Bài viết
58
Được thích
13
Đây là bài tập của mình về tìm kiếm trong vba.
Mình viết xong rồi nhưng chức năng tìm kiếm trong code này chưa được hoàn chỉnh
1...Phải gõ đầy đủ tên họ đúng mới ra kết quả
2...Code Không xử lý được hai tên trùng nhau ví dụ : nguyễn văn A và nguyễn thị A
các bạn giúp mình giải quyết 2 vấn đề này nhé ?? Làm sao gõ 1 chữ trong ô tìm kiếm tên nó sổ ra những chữ có liên quan giống như thanh tìm kiếm trên google đó ạ ???
Viết giúp mình thêm chức năng sửa và xóa khi đã tìm kiếm xong ạ
Cảm ơn các bạn
 

File đính kèm

  • TL.xlsm
    24.1 KB · Đọc: 14
  • received_821386988682404.png
    received_821386988682404.png
    18.1 KB · Đọc: 24
  • received_2731761377056502.png
    received_2731761377056502.png
    8.8 KB · Đọc: 26
  • received_595554468000864.png
    received_595554468000864.png
    12.7 KB · Đọc: 25
Lần chỉnh sửa cuối:
'Tìm kiếm' trong VBA nên xài phương thức FIND(); Bạn đến đây & đọc nhuyễn đi đã: https://www.giaiphapexcel.com/diendan/threads/tổng-hợp-về-phương-thức-tìm-kiếm-find-find-method.15116/
1...Phải gõ đầy đủ tên họ đúng mới ra kết quả
2...Code Không xử lý được hai tên trùng nhau ví dụ : nguyễn văn A và nguyễn thị A
các bạn giúp mình giải quyết 2 vấn đề này nhé ?? Làm sao gõ 1 chữ trong ô tìm kiếm tên nó (3) sổ ra những chữ có liên quan giống như thanh tìm kiếm trên google đó ạ ???
(1) Trong phương thức nói trên có 2 hướng tìm, là tìm theo nguyên mẫu & tìm theo phần của nhóm từ (Whole & Part)
(2) Trong trường hợp xài vòng lặp như bạn thì phải có phương tiện nào đó lưu dần các kết quả quá trình tìm kiếm của bạn để cuối chu trình ta có thể ngắm nghía kết quả của công cuộc!
(3) 'sổ ra' theo ý bạn là như thế nào
Nếu 'sổ ra' bằng MsgBox thì ta phải khai báo 1 tham biến lưu (những) kết quả tìm thấy & 'sổ ra' ở cuối quá trình.
(4) Ai hướng bạn viết VBA theo kiểu cách đó vậy; Cách mà mình gọi là viết quá 'Hàn lâm' & vô bổ
Nói vô bổ ở chỗ:
(*) Bạn bỏ nhiều dòng trống (trắng) trong các macro 1 cách không cần thiết; Nếu là mình thì chỉ bỏ 1 (hay vài) dòng trống theo từng nhóm lệnh cách nhau để sau này tiện trong bảo trì hay sửa đổi mà thôi;
Sao bạn lại bỏ trống 4 dòng trong trường hợp này vậy & mục đích thực sự là gì:
PHP:
. . . . . .
Dim Namsinh




Hovaten = txt_Hovaten.Value . . . . .
Nếu là mình thì các dòng lệnh trong 1 Sub chí ít là nằm hết trên 1 màn hình vi tính để dễ quan sát toàn thể các dòng của đứa con tinh thần của mình; Mục tiêu là dễ bề xoay sở trong mọi tình huống từ nay về sau.
(*) Khai báo tham biến của bạn chưa thật sự tường minh về kiểu dữ liệu
Lợi vài giây gõ chữ nhưng macro lần nào được kêu làm việc là bỏ ra 1 khoảng thời gian & bộ nhớ tiêu tốn 1 cách vô bổ cho hành vi tác trách của bạn.
& cuối cùng là xin lỗi bạn trước vì những lời khó nghe của mình!
$$$$@

PHP:
Private Sub lbDS_Click()
ReDim ArrC(1 To 13, 1 To 6)
Dim Rng As Range, sRng As Range, Sh As Worksheet
Dim W As Integer, Rws As Long
Dim MyAdd As String

lbID = 1 + Me!lbDS.ListIndex
1 'Hiên Trên ListBox Các Nhân Viên Cùng Ho Mã    '
Me!tbMaNV.Text = Arr(lbID, 1):     Me!tbHT.Text = Arr(lbID, 2)
Me!tbNS.Value = Arr(lbID, 3):      Me!cbFT.Text = Arr(lbID, 4)
Me!cbDT.Text = Arr(lbID, 5):       Me!cbTG.Text = Arr(lbID, 6)
Me!tbQQ.Text = Arr(lbID, 7):       Me!tbNCN.Text = Arr(lbID, 8)
Me!tbTF.Text = Arr(lbID, 9):       Me!tbVH.Value = Arr(lbID, 10)
Me!tbCC.Value = Arr(lbID, 11)
2 'Hiên Danh Sách Chi Tiêt   '
Set Sh = ThisWorkbook.Worksheets("QuanHe")
ArrC(1, 2) = "Nothing"
Rws = Sh.[b1].CurrentRegion.Rows.Count
Set Rng = Sh.[b1].Resize(Rws)
Set sRng = Rng.Find(Me!tbMaNV.Text, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
    MyAdd = sRng.Address
    Do
        W = W + 1:                  ArrC(W, 1) = W
        ArrC(W, 2) = sRng.Offset(, 1).Value
        ArrC(W, 3) = sRng.Offset(, 2).Value
        ArrC(W, 4) = sRng.Offset(, 3).Value
        ArrC(W, 5) = sRng.Offset(, 4).Value
        ArrC(W, 6) = sRng.Offset(, 5).Value
        Set sRng = Rng.FindNext(sRng)
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
Me!lbCT.List = ArrC()
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
mình vẫn không hiểu ?
ý mình là tìm tên rồi nó hiện lên đó ạ ??? dòng code của bạn mình không hiểu lắm
ví dụ: mình gõ chữ B bấm nút tìm nó sẽ hiện ra những bạn có tên B

'Tìm kiếm' trong VBA nên xài phương thức FIND(); Bạn đến đây & đọc nhuyễn đi đã: https://www.giaiphapexcel.com/diendan/threads/tổng-hợp-về-phương-thức-tìm-kiếm-find-find-method.15116/

(1) Trong phương thức nói trên có 2 hướng tìm, là tìm theo nguyên mẫu & tìm theo phần của nhóm từ (Whole & Part)
(2) Trong trường hợp xài vòng lặp như bạn thì phải có phương tiện nào đó lưu dần các kết quả quá trình tìm kiếm của bạn để cuối chu trình ta có thể ngắm nghía kết quả của công cuộc!
(3) 'sổ ra' theo ý bạn là như thế nào
Nếu 'sổ ra' bằng MsgBox thì ta phải khai báo 1 tham biến lưu (những) kết quả tìm thấy & 'sổ ra' ở cuối quá trình.
(4) Ai hướng bạn viết VBA theo kiểu cách đó vậy; Cách mà mình gọi là viết quá 'Hàn lâm' & vô bổ
Nói vô bổ ở chỗ:
(*) Bạn bỏ nhiều dòng trống (trắng) trong các macro 1 cách không cần thiết; Nếu là mình thì chỉ bỏ 1 (hay vài) dòng trống theo từng nhóm lệnh cách nhau để sau này tiện trong bảo trì hay sửa đổi mà thôi;
Sao bạn lại bỏ trống 4 dòng trong trường hợp này vậy & mục đích thực sự là gì:
PHP:
. . . . . .
Dim Namsinh




Hovaten = txt_Hovaten.Value . . . . .
Nếu là mình thì các dòng lệnh trong 1 Sub chí ít là nằm hết trên 1 màn hình vi tính để dễ quan sát toàn thể các dòng của đứa con tinh thần của mình; Mục tiêu là dễ bề xoay sở trong mọi tình huống từ nay về sau.
(*) Khai báo tham biến của bạn chưa thật sự tường minh về kiểu dữ liệu
Lợi vài giây gõ chữ nhưng macro lần nào được kêu làm việc là bỏ ra 1 khoảng thời gian & bộ nhớ tiêu tốn 1 cách vô bổ cho hành vi tác trách của bạn.
& cuối cùng là xin lỗi bạn trước vì những lời khó nghe của mình!
$$$$@

PHP:
Private Sub lbDS_Click()
ReDim ArrC(1 To 13, 1 To 6)
Dim Rng As Range, sRng As Range, Sh As Worksheet
Dim W As Integer, Rws As Long
Dim MyAdd As String

lbID = 1 + Me!lbDS.ListIndex
1 'Hiên Trên ListBox Các Nhân Viên Cùng Ho Mã    '
Me!tbMaNV.Text = Arr(lbID, 1):     Me!tbHT.Text = Arr(lbID, 2)
Me!tbNS.Value = Arr(lbID, 3):      Me!cbFT.Text = Arr(lbID, 4)
Me!cbDT.Text = Arr(lbID, 5):       Me!cbTG.Text = Arr(lbID, 6)
Me!tbQQ.Text = Arr(lbID, 7):       Me!tbNCN.Text = Arr(lbID, 8)
Me!tbTF.Text = Arr(lbID, 9):       Me!tbVH.Value = Arr(lbID, 10)
Me!tbCC.Value = Arr(lbID, 11)
2 'Hiên Danh Sách Chi Tiêt   '
Set Sh = ThisWorkbook.Worksheets("QuanHe")
ArrC(1, 2) = "Nothing"
Rws = Sh.[b1].CurrentRegion.Rows.Count
Set Rng = Sh.[b1].Resize(Rws)
Set sRng = Rng.Find(Me!tbMaNV.Text, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
    MyAdd = sRng.Address
    Do
        W = W + 1:                  ArrC(W, 1) = W
        ArrC(W, 2) = sRng.Offset(, 1).Value
        ArrC(W, 3) = sRng.Offset(, 2).Value
        ArrC(W, 4) = sRng.Offset(, 3).Value
        ArrC(W, 5) = sRng.Offset(, 4).Value
        ArrC(W, 6) = sRng.Offset(, 5).Value
        Set sRng = Rng.FindNext(sRng)
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
Me!lbCT.List = ArrC()
End Sub
 
Upvote 0
ý mình hỏi là phần tìm kiếm đó ạ ??? code của bạn chỉ có nút THÊM thôi
Bạn thử gõ 'nvh' vô TextBox xem trên ListBox hiện ra những gì; sau đó ta bàn tiếp những chuyện khác nữa như chọn 1 trong các dòng có dữ liệu trên ListBox,. . . .
 
Upvote 0
Bạn cho mình hỏi là lúc bấm chữ tìm kiếm xong dữ liệu hiển thị trong khung textbox! Mình dùng câu lệnh gì để không cho sửa khung textbox đó , chỉ cho xem dữ liệu vậy bạn !!


Bạn thử gõ 'nvh' vô TextBox xem trên ListBox hiện ra những gì; sau đó ta bàn tiếp những chuyện khác nữa như chọn 1 trong các dòng có dữ liệu trên ListBox,. . . .
 
Upvote 0
Có 1 thuộc tính của TextBox là Enabled, lúc cần thiết bạn gán nó thành False thử xem có hợp lý không.
 
Upvote 0
Bạn tham khảo form này của mình về cách tìm mã NV
Em có 2 file đính kèm. @ 200608_Baocao Hang ngay Và @ 200608_Don hang goc _ doi chieu
. Vì lượng hàng hóa phát sinh trong nhiều ngày mới kết thúc nên cần phải có thêm nghiệp vụ là đối chiếu với đơn hàng gốc.
. File @ 200608_Baocao Hang ngay . Tại cột đối chiếu sẽ báo là ok khi tham chiếu dữ liệu các thông số Đon hàng / mã hàng / màu sắc / size số. Tại file @ 200608_Don hang goc _ doi chieu . Đối với VBA
. Đối với việc dò tìm khi có thêm bảng Listbox . e cần nhờ sự hỗ trợ thiết kế 1 Listbox với các thông số Đơn hàng / mã hàng / màu sắc / size số . để kiểm tra . Dữ liệu sẽ được import từ file @ 200608_Don hang goc _ doi chieu vào . Tiếp thjeo chủ đề của @ongke0711 với bài viết
Demo Form tìm kiếm nhiều cột trong Listbox
View attachment 238919
EM XIN CẢM ƠN RẤT NHIỀU Ạ .


View attachment 238917
Em xin phép nhờ Tip bài này để mong nhận được sự hỗ trợ ạ
 

File đính kèm

  • 200608_Baocao Hang ngay.xlsx
    55.3 KB · Đọc: 9
  • 200608_Don hang goc _ doi chieu-.xlsx
    539.1 KB · Đọc: 5
Upvote 0
minh dựa theo code của bạn nên đã làm được chức năng tìm kiếm và sửa rồi
Bạn chia sẻ thêm cho mình chức năng Thêm và Xóa nữa nhé
mình cảm ơn bạn !!!!
'Tìm kiếm' trong VBA nên xài phương thức FIND(); Bạn đến đây & đọc nhuyễn đi đã: https://www.giaiphapexcel.com/diendan/threads/tổng-hợp-về-phương-thức-tìm-kiếm-find-find-method.15116/

(1) Trong phương thức nói trên có 2 hướng tìm, là tìm theo nguyên mẫu & tìm theo phần của nhóm từ (Whole & Part)
(2) Trong trường hợp xài vòng lặp như bạn thì phải có phương tiện nào đó lưu dần các kết quả quá trình tìm kiếm của bạn để cuối chu trình ta có thể ngắm nghía kết quả của công cuộc!
(3) 'sổ ra' theo ý bạn là như thế nào
Nếu 'sổ ra' bằng MsgBox thì ta phải khai báo 1 tham biến lưu (những) kết quả tìm thấy & 'sổ ra' ở cuối quá trình.
(4) Ai hướng bạn viết VBA theo kiểu cách đó vậy; Cách mà mình gọi là viết quá 'Hàn lâm' & vô bổ
Nói vô bổ ở chỗ:
(*) Bạn bỏ nhiều dòng trống (trắng) trong các macro 1 cách không cần thiết; Nếu là mình thì chỉ bỏ 1 (hay vài) dòng trống theo từng nhóm lệnh cách nhau để sau này tiện trong bảo trì hay sửa đổi mà thôi;
Sao bạn lại bỏ trống 4 dòng trong trường hợp này vậy & mục đích thực sự là gì:
PHP:
. . . . . .
Dim Namsinh




Hovaten = txt_Hovaten.Value . . . . .
Nếu là mình thì các dòng lệnh trong 1 Sub chí ít là nằm hết trên 1 màn hình vi tính để dễ quan sát toàn thể các dòng của đứa con tinh thần của mình; Mục tiêu là dễ bề xoay sở trong mọi tình huống từ nay về sau.
(*) Khai báo tham biến của bạn chưa thật sự tường minh về kiểu dữ liệu
Lợi vài giây gõ chữ nhưng macro lần nào được kêu làm việc là bỏ ra 1 khoảng thời gian & bộ nhớ tiêu tốn 1 cách vô bổ cho hành vi tác trách của bạn.
& cuối cùng là xin lỗi bạn trước vì những lời khó nghe của mình!
$$$$@

PHP:
Private Sub lbDS_Click()
ReDim ArrC(1 To 13, 1 To 6)
Dim Rng As Range, sRng As Range, Sh As Worksheet
Dim W As Integer, Rws As Long
Dim MyAdd As String

lbID = 1 + Me!lbDS.ListIndex
1 'Hiên Trên ListBox Các Nhân Viên Cùng Ho Mã    '
Me!tbMaNV.Text = Arr(lbID, 1):     Me!tbHT.Text = Arr(lbID, 2)
Me!tbNS.Value = Arr(lbID, 3):      Me!cbFT.Text = Arr(lbID, 4)
Me!cbDT.Text = Arr(lbID, 5):       Me!cbTG.Text = Arr(lbID, 6)
Me!tbQQ.Text = Arr(lbID, 7):       Me!tbNCN.Text = Arr(lbID, 8)
Me!tbTF.Text = Arr(lbID, 9):       Me!tbVH.Value = Arr(lbID, 10)
Me!tbCC.Value = Arr(lbID, 11)
2 'Hiên Danh Sách Chi Tiêt   '
Set Sh = ThisWorkbook.Worksheets("QuanHe")
ArrC(1, 2) = "Nothing"
Rws = Sh.[b1].CurrentRegion.Rows.Count
Set Rng = Sh.[b1].Resize(Rws)
Set sRng = Rng.Find(Me!tbMaNV.Text, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
    MyAdd = sRng.Address
    Do
        W = W + 1:                  ArrC(W, 1) = W
        ArrC(W, 2) = sRng.Offset(, 1).Value
        ArrC(W, 3) = sRng.Offset(, 2).Value
        ArrC(W, 4) = sRng.Offset(, 3).Value
        ArrC(W, 5) = sRng.Offset(, 4).Value
        ArrC(W, 6) = sRng.Offset(, 5).Value
        Set sRng = Rng.FindNext(sRng)
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
Me!lbCT.List = ArrC()
End Sub
 
Upvote 0
. . . . nên đã làm được chức năng tìm kiếm và sửa rồi
Bạn chia sẻ thêm cho mình chức năng Thêm và Xóa nữa nhé mình cảm ơn bạn !!!!
Thêm mới 1 nhân vật hay xóa đi 1 dòng dữ liệu của 1 con người cụ thể nào đó, ta đều phải thông qua mã NV (duy nhất) của người đó.
Trước tiên vấn đề mình muốn chia sẽ với bạn là qui luật tạo ra bộ mã (duy nhất) cho 1 danh sách họ tên người Việt như sau:
Mã NVHỌ VÀ TÊN
NVH00Ngô Thị Viết Hà
NVH01Nguyễn Việt Hưng
NVH02Nguyễn Thị Viết Hà
NVH03Nhữ Vân Hải
NVH04Nhâm Vũ Hân
NVH05Nhâm Võ Hai
NVH06Nhạn Vi Hân
DFA00Dương Đông Anh
FJD00Đỗ Dung
TAH00Trần Ánh Hồng
TAH01Tô Thị Anh Hà
FJD02Đỗ Dủng
Với bộ mã này mình đã ứng dụng cho 1 trường phổ thông khoảng 5K HS cũng OK đó nha.

Như vậy với 1 nhân viên mới vô CQ của bạn, ta cần ấn định mã NV cho bạn ý

Ví dụ tiên người mới đó là Nguyễn Vũ Văn Hai, thì bạn sẽ phải ấn định cho người đó mang mã NVH07 (do NVH06 bạn đã gán cho người nhập trước đó)
(Nếu tên người mới vô là Đăng Dùng, thì mã sẽ phải là FJD01,. . . .)
& Quá trình xóa 1 người nào đó ra khỏi danh sách, t cũng phải tìm thông qua mã NV của người ý mà xóa.
Tạm thời là vậy, & rất vui được thảo luận tiếp với bạn.
 
Upvote 0
mình không hiểu rồi !!
mình có xem trên youtube để viết thêm chức năng thêm và xóa nhưng chúng đang bị lỗi
bạn xem giúp mình nhé !!!!!

Thêm mới 1 nhân vật hay xóa đi 1 dòng dữ liệu của 1 con người cụ thể nào đó, ta đều phải thông qua mã NV (duy nhất) của người đó.
Trước tiên vấn đề mình muốn chia sẽ với bạn là qui luật tạo ra bộ mã (duy nhất) cho 1 danh sách họ tên người Việt như sau:
Mã NVHỌ VÀ TÊN
NVH00Ngô Thị Viết Hà
NVH01Nguyễn Việt Hưng
NVH02Nguyễn Thị Viết Hà
NVH03Nhữ Vân Hải
NVH04Nhâm Vũ Hân
NVH05Nhâm Võ Hai
NVH06Nhạn Vi Hân
DFA00Dương Đông Anh
FJD00Đỗ Dung
TAH00Trần Ánh Hồng
TAH01Tô Thị Anh Hà
FJD02Đỗ Dủng
Với bộ mã này mình đã ứng dụng cho 1 trường phổ thông khoảng 5K HS cũng OK đó nha.

Như vậy với 1 nhân viên mới vô CQ của bạn, ta cần ấn định mã NV cho bạn ý

Ví dụ tiên người mới đó là Nguyễn Vũ Văn Hai, thì bạn sẽ phải ấn định cho người đó mang mã NVH07 (do NVH06 bạn đã gán cho người nhập trước đó)
(Nếu tên người mới vô là Đăng Dùng, thì mã sẽ phải là FJD01,. . . .)
& Quá trình xóa 1 người nào đó ra khỏi danh sách, t cũng phải tìm thông qua mã NV của người ý mà xóa.
Tạm thời là vậy, & rất vui được thảo luận tiếp với bạn.
 

File đính kèm

  • hoidap.xlsm
    44.1 KB · Đọc: 8
  • uppppppp.png
    uppppppp.png
    41.7 KB · Đọc: 10
Upvote 0
Danh sách nhân viên mà không có mã duy nhất thì mình chịu;
( Nếu như giúp bạn thì mình chỉ có thể giúp với bộ mã của mình mà thôi.)
 
Upvote 0
Vâng ạ ! Bạn cho mình xin mã code để nghiên cứu nhé !
Mong bạn giúp đỡ và cũng là cơ hội để mình tự học thêm Code ạ.
Cảm ơn bạn nhiều !!!


Danh sách nhân viên mà không có mã duy nhất thì mình chịu;
( Nếu như giúp bạn thì mình chỉ có thể giúp với bộ mã của mình mà thôi.)
 
Lần chỉnh sửa cuối:
Upvote 0
Trong file cuối của bạn đã có macro dùng để nhập mới rồi mà; Vấn đề còn lại là xóa thì bạn thử tư duy thêm vài chục giờ nữa xem sao.
Bạn lưu ý là bộ mã của mình đề xuất có 2 phần: đặt tính & định trị (tương ứng 3 chữ cái đầu & 2 kí số cuối của mã)
& trong quá trình nhập mới, xóa hay cập nhật (sửa chửa hay bổ sung mới dữ liệu) ta cần nhập vô TextBox tìm kiếm 3 chữ cái phần đặc tính của mã
Căn cứ kết quả hiện trên ListBox mà ta nhập mã cho nhân viên mới & kể từ thời điểm này mã duy nhất đó sẽ theo nhân viên đó mã mãi đến khi về hưu của CQ bạn.

Khi xóa 1 người ra khỏi danh sách ta cũng phải biết phần đặc tính của mã người đó & nhập vô TextBox tìm kiếm để tìm ra phần định tri nữa của NV đó & tiến hành xóa.
(Bạn có thể tham khảo thêm file này:)

Chúc bạn thành công.
 

File đính kèm

  • Tìm Kiếm.rar
    24.4 KB · Đọc: 33
Lần chỉnh sửa cuối:
Upvote 0
Mình tìm được code Tạo Mã nhân viên cuả bạn trong diễn đàn, nhưng mình không sửa được lúc chạy chươnng trình tạo mã nhân viên là: Tên + Tên Lót + Họ
ví dụ :
  • NGUYỄN VĂN TÝ khi chạy chương trình sẽ là TVN000
Mình muốn sửa lại là Họ + Tên lót+ Tên thì mình sửa thế nào vậy bạn ? CẢM ƠN BẠN NHIỀU Ạ !!!
ví dụ :
  1. NGUYỄN VĂN TÝ khi chạy chương trình sẽ là NVT000
  2. Nguyễn Văn Tùng Khi chạy chương trình sẽ là NVT001

Trong file cuối của bạn đã có macro dùng để nhập mới rồi mà; Vấn đề còn lại là xóa thì bạn thử tư duy thêm vài chục giờ nữa xem sao.
Bạn lưu ý là bộ mã của mình đề xuất có 2 phần: đặt tính & định trị (tương ứng 3 chữ cái đầu & 2 kí số cuối của mã)
& trong quá trình nhập mới, xóa hay cập nhật (sửa chửa hay bổ sung mới dữ liệu) ta cần nhập vô TextBox tìm kiếm 3 chữ cái phần đặc tính của mã
Căn cứ kết quả hiện trên ListBox mà ta nhập mã cho nhân viên mới & kể từ thời điểm này mã duy nhất đó sẽ theo nhân viên đó mã mãi đến khi về hưu của CQ bạn.

Khi xóa 1 người ra khỏi danh sách ta cũng phải biết phần đặc tính của mã người đó & nhập vô TextBox tìm kiếm để tìm ra phần định tri nữa của NV đó & tiến hành xóa.
(Bạn có thể tham khảo thêm file này:)

Chúc bạn thành công.
 

File đính kèm

  • TaoMa.xls
    101.5 KB · Đọc: 8
  • oo.png
    oo.png
    6.1 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom