Đá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 truy cập được csdl thanhtruong 6 177 17-06-17, 08:36 AM
Bài mới nhất: thanhtruong
  [Help] Về việc in ấn trong Access JJKey 10 279 09-06-17, 12:37 PM
Bài mới nhất: tranthanhan1962
  Hướng Dẫn Cách lưu (back up database) dữ liệu! danhxetnghiem 26 4,304 05-06-17, 02:05 AM
Bài mới nhất: MTNQ
  [Help] hàm edate trong access anhnt 2 87 13-05-17, 07:03 PM
Bài mới nhất: anhnt
  Xin giúp liên kết đường dẫn trong access audition 14 5,380 11-05-17, 11:50 AM
Bài mới nhất: cpucloi

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ơ