Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Có thể tạo dấu , ngăn cách 3 chữ cuối trong textbox không?
#1
Hi các bạn, mình tạo chương trình quản lý nhân viên, có 1 trường là số điện thoại, nhưng mình không để trường này là Number mà để Text, mình khóa dữ liệu nhập bằng code như sau (chỉ cho nhập số), thay vì để Format là Standrad
Select Case KeyAscii

Case 48 To 57
  If KeyAscii = 46 And InStr(1, TextBox1, ".") > 0 Then KeyAscii = 0
Case Else
  KeyAscii = 0
End Select

Nhưng mình muốn có dấu , ngăn cách 6 số cuối (mỗi 3 số) từ phải sang trái cho dễ đọc khi nhập số điện thoại, không biết có thể làm được không? 
Mình cũng đã dùng thử 1 số hàm có Input mark #,##, nhưng mà số 0 đầu tiên bị mất tiêu.

Bạn nào biết thì hướng dẫn dùm mình nha.
Cảm ơn
Chữ ký của mieuhoa Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#2
Không có cách nào sao các bạn?
Không cần dấu "," cũng được, có khoảng trắng ra cũng được, cho dễ đọc thôi à, tránh bấm nhầm số.
Ai biết chỉ dùm mình với.
Chữ ký của mieuhoa Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#3
Code theo yêu cầu của bạn đây.
Theo code này, khi bạn nhập số điện thoại sẽ tự động hiển thị dưới dạng [0000-000-000].
Cách làm:
- Giả sử textbox nhập số điện thoại của bạn có name là [txtSoDT].
- Bạn thêm một textbox nữa, ví dụ: txtEmail. Cái này để phục vụ cho thủ thuật trong code. Bạn có thể lấy cái textbox khác bất kỳ có trên cái form nhập số điện thoại (Chú ý đổi tên txtEmail trong code thành name của textbox của đó).
- Tạo event procedure trong Event - On Key Up của textbox số điện thoại.
- Trong Form Properties -> Event -> Key Preview: chọn Yes.
- Copy đoạn code bên dưới vào event Key up.

Mã PHP:
Private Sub txtSoDT_KeyUp(KeyCode As IntegerShift As Integer)
   Dim vitri As Variant
   Dim str 
As StringstrGoc As String
   
   vitri 
= Array(Me.txtSoDT.SelStartMe.txtSoDT.SelLength)
   Me.txtEmail.SetFocus   'Di chuyen qua field khac de luu du lieu cua textbox so dien thoai
   Me.txtSoDT.SetFocus
   
   '
Tra con tro ve vi tri cu
   Me
.txtSoDT.SelStart vitri(0)
   Me.txtSoDT.SelLength vitri(1)
   
   If KeyCode 
<> vbKeyBack Or KeyCode <> vbKeyDelete Then
       If Len
(Me.txtSoDT) > 6 Then
           strGoc 
Replace(Me.txtSoDT"-""")
           str Left(strGocLen(strGoc) - 6) & "-" Left(Right(strGoc6), 3) & "-" Right(strGoc3)
           Me.txtSoDT str
           Me
.txtSoDT.SelStart vitri(0) + 2     'Len(Me.txtSoDT)
           Me.txtSoDT.SelLength = vitri(1) + 2    '
Len(Me.txtSoDT)
       End If
   End If
End Sub 
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 mieuhoa , maidinhdan
#4
Cảm ơn bạn [b]ongke0711[/b] nhiều lắm, đúng ý mình rồi. Nhờ bạn mình đã sửa được chương trình của mình cho dễ sử dụng hơn rồi. 
Thank you [b]ongke0711[/b]
Chữ ký của mieuhoa Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
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
  Lỗi không tạo file mới bằng định dạng .mdb feeling 4 87 29-11-16, 04:22 PM
Bài mới nhất: feeling
  [Hỏi] Việc set thuộc tính OnClick trong Code toancvp 5 230 31-10-16, 10:14 AM
Bài mới nhất: toancvp
  [Hỏi] Cách loại bỏ icon Filter trên Datasheet Form có nguồn là Query. toancvp 2 102 19-10-16, 08:53 PM
Bài mới nhất: toancvp
  cách sửa lỗi cant find project or library trungminh 4 232 01-10-16, 03:37 PM
Bài mới nhất: maidinhdan
  [Help] Nhờ tạo form lưu hóa đơn nhập, hóa đơn xuất, hàng nhập hàng xuất không cần tính tồn laxx_xxal 1 133 22-09-16, 02:35 PM
Bài mới nhất: Nguyen Hoang Diep

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ơ