-
Có thể tạo dấu , ngăn cách 3 chữ cuối trong textbox không?
mieuhoa > 15-11-15, 07:53 PM
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 -
RE: Có thể tạo dấu , ngăn cách 3 chữ cuối trong textbox không?
mieuhoa > 16-11-15, 11:08 PM
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. -
RE: Có thể tạo dấu , ngăn cách 3 chữ cuối trong textbox không?
ongke0711 > 16-11-15, 11:28 PM
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 Integer, Shift As Integer)
Dim vitri As Variant
Dim str As String, strGoc As String
vitri = Array(Me.txtSoDT.SelStart, Me.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(strGoc, Len(strGoc) - 6) & "-" & Left(Right(strGoc, 6), 3) & "-" & Right(strGoc, 3)
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 -
RE: Có thể tạo dấu , ngăn cách 3 chữ cuối trong textbox không?
mieuhoa > 17-11-15, 12:16 AM
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]