• Báo trùng dữ liệu giữa STT và SKK
  • Báo trùng dữ liệu giữa STT và SKK

    nam8384 > 16-05-16, 04:46 PM

    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 đỡ
  • RE: Báo trùng dữ liệu giữa STT và SKK

    lmthu > 16-05-16, 05:15 PM

    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
  • RE: Báo trùng dữ liệu giữa STT và SKK

    nam8384 > 16-05-16, 05:42 PM

    (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
  • RE: Báo trùng dữ liệu giữa STT và SKK

    ongke0711 > 16-05-16, 07:24 PM

    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.
  • RE: Báo trùng dữ liệu giữa STT và SKK

    nam8384 > 16-05-16, 08:49 PM

    (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
  • RE: Báo trùng dữ liệu giữa STT và SKK

    ongke0711 > 16-05-16, 08:58 PM

    (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??