Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Báo trùng dữ liệu giữa STT và SKK
#1
Em chào các bác. Các bác có thể giúp em một chút. Chả là em có hai cột, cột STT và cột SKK, có dạng như này:
STT      SKK
1           1/kl.1
2            2/g.3
3            3/n.4
Quy tắc là tử số của cột SKK (tức là số nằm đằng trước dấu “/”) bao giờ cũng phải trùng với STT, còn mẫu số không quan trọng. Có trường hợp có người đánh STT là “5” nhưng SKK lại đánh là: 6/g.7 chẳng hạn. Vậy có cách nào viết code để chương trình bắt nhập trùng dữ liệu không. Tạm thời chưa có, em phải xuất sang excel dùng tạm hàm LEFT(B2, FIND("/",B2)-1) trong  rồi dùng condition formating cũng ra kết quả nhưng lại phải làm việc trên excel, có vẻ không chuyên nghiệp lắm. Mong các bác giúp đỡ
Chữ ký của nam8384 nam8384,gia nhập Thủ Thuật Access từ 17-03 -16.
Reply
Những người đã cảm ơn
#2
Ta đặt tên Textbox chứa STT là TxtSTT và Textbox chứa SKK là TxtSKK, giả sử STT & SKK đều là dữ liệu kiểu Text, trong sự kiện AfterUpdate của TxtSKK bạn viết mã lệnh xử lý như sau:
Private Sub TxtSKK_AfterUpdate()
 If Left(Me.TxtSKK, Len(Me.TxtSTT))<>Me.TxtSTT then
  Msgbox "Bạn phải nhập SKK giống STT", vbCritical + vbOKOnly, "Báo lỗi"
  Me.TxtSKK.Setfocus
 End if
End Sub
Chữ ký của lmthu Xin chào, mình là lmthu, Tham gia http://thuthuataccess.com/forum từ ngày 04-07 -14.
Reply
Những người đã cảm ơn
#3
(16-05-16, 05:15 PM)lmthu Đã viết: Ta đặt tên Textbox chứa STT là TxtSTT và Textbox chứa SKK là TxtSKK, giả sử STT & SKK đều là dữ liệu kiểu Text, trong sự kiện AfterUpdate của TxtSKK bạn viết mã lệnh xử lý như sau:
Private Sub TxtSKK_AfterUpdate()
 If Left(Me.TxtSKK, Len(Me.TxtSTT))<>Me.TxtSTT then
  Msgbox "Bạn phải nhập SKK giống STT", vbCritical + vbOKOnly, "Báo lỗi"
  Me.TxtSKK.Setfocus
 End if
End Sub
Cảm ơn bác. Nhưng em làm vẫn chưa được, máy không có thông báo gì. Vấn đề là STT phải giống với số nằm bên trái dấu "/" của SKK
Chữ ký của nam8384 nam8384,gia nhập Thủ Thuật Access từ 17-03 -16.
Reply
Những người đã cảm ơn
#4
Thay vì bắt nhập toàn bộ [SKK], sao bạn không cho người dùng chỉ nhập số phía sau "g.7" và mã SKK sẽ tự sinh do chương trình ghép giữa STT và g.7 lại. Người dùng khỏi mất công nhìn qua STT rồi mới gõ cột SKK.

Tôi nghĩ code của bạn lmthu nên dùng hàm TRIM (LTRIM) để bỏ khoảng trắng đầu từ  phòng khi người dùng lỡ gõ space bar trước khi nhập text.
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
#5
(16-05-16, 07:24 PM)ongke0711 Đã viết: Thay vì bắt nhập toàn bộ [SKK], sao bạn không cho người dùng chỉ nhập số phía sau "g.7" và mã SKK sẽ tự sinh do chương trình ghép giữa STT và g.7 lại. Người dùng khỏi mất công nhìn qua STT rồi mới gõ cột SKK.

Tôi nghĩ code của bạn lmthu nên dùng hàm TRIM (LTRIM) để bỏ khoảng trắng đầu từ  phòng khi người dùng lỡ gõ space bar trước khi nhập text.
Em cũng nghĩ đến trường hợp đó. Nhưng có khi người ta nhập đúng STT nhưng lại nhập sai SKK và ngược lại. Thành ra trong trường hợp họ nhập sai STT thì SKK sẽ sai theo. E muốn bắt trùng dữ liệu giữa hai cột là để phòng trường hợp đó và người nhập sẽ kiểm tra lại xem stt sai hay skk sai
Chữ ký của nam8384 nam8384,gia nhập Thủ Thuật Access từ 17-03 -16.
Reply
Những người đã cảm ơn
#6
(16-05-16, 08:49 PM)nam8384 Đã viết:
(16-05-16, 07:24 PM)ongke0711 Đã viết: Thay vì bắt nhập toàn bộ [SKK], sao bạn không cho người dùng chỉ nhập số phía sau "g.7" và mã SKK sẽ tự sinh do chương trình ghép giữa STT và g.7 lại. Người dùng khỏi mất công nhìn qua STT rồi mới gõ cột SKK.

Tôi nghĩ code của bạn lmthu nên dùng hàm TRIM (LTRIM) để bỏ khoảng trắng đầu từ  phòng khi người dùng lỡ gõ space bar trước khi nhập text.
Em cũng nghĩ đến trường hợp đó. Nhưng có khi người ta nhập đúng STT nhưng lại nhập sai SKK và ngược lại. Thành ra trong trường hợp họ nhập sai STT thì SKK sẽ sai theo. E muốn bắt trùng dữ liệu giữa hai cột là để phòng trường hợp đó và người nhập sẽ kiểm tra lại xem stt sai hay skk sai

Hehe...nếu chỉ nhập số g.7 thì khi có sai thì chỉ cần kiểm tra 1 cột "g.7" thôi, thay vì phải kiểm tra tới 2 cột STT rồi SKK??
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
  Form lọc dữ liệu huuduy.duy 16 847 20-08-16, 05:43 PM
Bài mới nhất: ongke0711
  Tạo thông báo bằng tiếng việt để xác nhận Yes hoặc No nam8384 6 511 13-05-16, 06:00 PM
Bài mới nhất: nam8384
  Thông báo về sử dụng mạng lan nam8384 4 516 22-04-16, 11:41 AM
Bài mới nhất: nam8384
  [Hỏi] Trùng khóa chính trong form có 2 khóa chinh! khanghychu 21 1,505 20-02-16, 10:17 PM
Bài mới nhất: khanghychu
Thumbs Up [Hỏi] khi nhập liệu không cho trùng cùng lúc 3 textbox hugox03 1 414 03-08-15, 04:50 PM
Bài mới nhất: ledangvan

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ơ