Nhờ sửa code nhập liệu. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

chiendich

Lỡ bước sang ngang
Tham gia
13/5/09
Bài viết
198
Được thích
247
Giới tính
Nam
Nghề nghiệp
74 Quê tôi
Hiện tại mình đang bị lỗi định dạng kiểu text mã số nhân viên. khi sửa dữ liệu thì cột mã số chuyển về kiểu số. 1535004566540.png
và khi mình sửa dữ liệu và lưu lại thì nó chuyển về dạng số1535004787661.png

Nhờ các bạn giúp đỡ khắc phục lỗi này cho mình. Xin chân thành cảm ơn.
 

File đính kèm

Hiếm khi nào tôi viết 1 cái biểu thức là lạ mà nó ăn ngay phát đầu tiên:victory:. Thử cái này xem sao:
Mã:
If IsNumeric(x) And x Like "[1-9]*" Or x Like "0[,.]*" Then
Cái này theo đúng format "0xxx" của bạn nên chưa hẳn đã đúng với mọi trường hợp đâu (vd 0.9.01). Bác nào rảnh rỗi đè ra vặt lỗi đâu đâu là pó tay.

Mà ai chỉ bạn code kiểu tiết kiệm từ cả cái xuống dòng đến cả vặn óc ra vòng lặp nhập liệu đũng là "bờ rồ" kiểu Việt Nam thật. Quăng cho bọn hacker chắc nó câm nín luôn :sweatdrop:.
 
Lần chỉnh sửa cuối:
Upvote 0
Hiện tại mình đang bị lỗi định dạng kiểu text mã số nhân viên. khi sửa dữ liệu thì cột mã số chuyển về kiểu số. View attachment 202400
và khi mình sửa dữ liệu và lưu lại thì nó chuyển về dạng sốView attachment 202401

Nhờ các bạn giúp đỡ khắc phục lỗi này cho mình. Xin chân thành cảm ơn.
Thử sửa lại code cho nút Lưu lại vầy xem sao.
Mã:
Private Sub sualuu_Click()
    If Me.Enreg <> "" And Me.TextBox1 <> "" Then
      NoEnreg = Me.Enreg
      For k = 1 To Ncol
         x = Replace(Me("textBox" & k), " ", "")
         If IsNumeric(x) Then
           If k = 1 Then
                f.Cells(NoEnreg, k) = "'" & x
           Else
                f.Cells(NoEnreg, k) = Val(x)
           End If
         Else
           f.Cells(NoEnreg, k) = Me("textBox" & k)
         End If
      Next k
      raz
      Me.Enreg = ""
      UserForm_Initialize
    End If
End Sub
 
Upvote 0
Hiếm khi nào tôi viết 1 cái biểu thức là lạ mà nó ăn ngay phát đầu tiên:victory:. Thử cái này xem sao:
Mã:
If IsNumeric(x) And x Like "[1-9]*" Or x Like "0[,.]*" Then
Cái này theo đúng format "0xxx" của bạn nên chưa hẳn đã đúng với mọi trường hợp đâu (vd 192.168.1.111). Bác nào rảnh rỗi đè ra vặt lỗi đâu đâu là pó tay.
Mà ai chỉ bạn code kiểu tiết kiệm từ cả cái xuống đến cả vặn óc ra vòng lặp nhập liệu đũng là "bờ rồ" kiểu Việt Nam thật. Quăng cho bọn hacker chắc nó câm nín luôn :sweatdrop:.
Cảm ơn bạn đã giúp đỡ.
Bài đã được tự động gộp:

Thử sửa lại code cho nút Lưu lại vầy xem sao.
Mã:
Private Sub sualuu_Click()
    If Me.Enreg <> "" And Me.TextBox1 <> "" Then
      NoEnreg = Me.Enreg
      For k = 1 To Ncol
         x = Replace(Me("textBox" & k), " ", "")
         If IsNumeric(x) Then
           If k = 1 Then
                f.Cells(NoEnreg, k) = "'" & x
           Else
                f.Cells(NoEnreg, k) = Val(x)
           End If
         Else
           f.Cells(NoEnreg, k) = Me("textBox" & k)
         End If
      Next k
      raz
      Me.Enreg = ""
      UserForm_Initialize
    End If
End Sub
Cảm ơn Anh Giaiphap. code của anh sửa nó không mất dấu " ' ".

Luôn tiện cũng nhờ anh có thể chuyển cái Form này vào trong form nhập liệu. để khi nào nhập dữ liệu đầu vào thì nhập luôn phần này.
1535008193077.png1535008390553.png
cảm ơn anh nhiều.!!!
 
Lần chỉnh sửa cuối:
Upvote 0
Trong bảng tính Excel mà lấy [Mã NV] là '00001' ,. . . . là hoàn toàn không nên; Bạn sẽ còn gặp nhiều fiền toái trong những chu trình khác, như Filter, một số hàm, . . .
Chí ít nên bắt đầu là 10000 hay 10001 & tăng dần lên đến khi 99999;
Là mình thì sẽ là:
PHP:
Mã NV      Họ & Tên
NHN00   Ngô Thị Huỳnh Nhị
FTC00   Đặng Thị Chính
NBH00   Nguyễn Ban Hợp
NBH01   Ngô Bá Hành
NJH00   Nguyễn Hợp
FAA00   Đỗ Ái Ân
TTD00   Trần Thị Thanh Dung
. . .     . . . . .

Chúc ngày vui!
 
Upvote 0
Trong bảng tính Excel mà lấy [Mã NV] là '00001' ,. . . . là hoàn toàn không nên; Bạn sẽ còn gặp nhiều fiền toái trong những chu trình khác, như Filter, một số hàm, . . .
Chí ít nên bắt đầu là 10000 hay 10001 & tăng dần lên đến khi 99999;
Là mình thì sẽ là:
PHP:
Mã NV      Họ & Tên
NHN00   Ngô Thị Huỳnh Nhị
FTC00   Đặng Thị Chính
NBH00   Nguyễn Ban Hợp
NBH01   Ngô Bá Hành
NJH00   Nguyễn Hợp
FAA00   Đỗ Ái Ân
TTD00   Trần Thị Thanh Dung
. . .     . . . . .

Chúc ngày vui!
Cảm ơn Bác Sa-DQ đã cho cháu kinh nghiệm như trên. mã này là cháu đang đồng nhất với mã máy quẹt thẻ vân tay. khi nào hoàn thiện sẽ thay mã mới để quản lý, Hiện tại cháu đang xây dựng CSDL trước rồi mới đi đến các biểu mẫu, báo cáo.... nhưng đến đây lại gặp cháu đang gặp rắc rối trong form nhập liệu. (đặc biệt là nhập địa chỉ thường trú....như form bài #4, cháu chưa ghép lại được thành 1 form hoàn chỉnh để đưa dữ liệu vào CSDL..... Mong bác và các thầy chỉ bảo để hoàn thiện.!
Cảm ơn bác rất nhiều!
 
Upvote 0
Luôn tiện cũng nhờ anh có thể chuyển cái Form này vào trong form nhập liệu. để khi nào nhập dữ liệu đầu vào thì nhập luôn phần này.
Tạm thời bạn tham khảo file này;
Mình sẽ đưa lên form cho bạn nay mai
& chúc vui!
 

File đính kèm

Upvote 0
...
Là mình thì sẽ là:
PHP:
Mã NV      Họ & Tên
NHN00   Ngô Thị Huỳnh Nhị
FTC00   Đặng Thị Chính
NBH00   Nguyễn Ban Hợp
NBH01   Ngô Bá Hành
NJH00   Nguyễn Hợp
FAA00   Đỗ Ái Ân
TTD00   Trần Thị Thanh Dung
. . .     . . . . .

Chúc ngày vui!
Hình như ngừoi sử dụng form không bắt buộc phải là ngừoi Việt.
Trường hợp đó thì cách viết tắt tên đối với họ chưa chắc đã hữu dụng
 
Upvote 0
Đưa vô Form cho bạn như đã hứa & chúc vui!
Cảm ơn bác Sa-DQ rất nhiều về cách đưa dữ liệu vào form theo kiểu này.
Nhưng ý của cháu là file của cháu đưa lên là đã có code đưa dữ liệu vào form rồi. cháu muốn bác gộp cái form UserForm1 lồng ghép vào Form Nhaplieu luôn.
vd: khi nhập dữ liệu từ form nhập liệu và có thể gọi form userform1 luôn để nhập phần mã BHXH và gán vào cột tương ứng.1535342203898.png
1535343449264.png
1535344045061.png
Điều quan trọng cháu muốn là khi nhập xong tỉnh huyện xã thôn/xóm và mã BHXH thì nó sẽ cập vào vùng T7:X7 sheet data
cháu mới có ý tưởng như vậy mà chưa thực hiện được.
Rất mong bác và các anh chị trong diễn đàn giúp đỡ.
 

File đính kèm

Upvote 0
Bạn chưa nên xài 2 Form để nhập dữ liệu, vì trình của bạn chưa tới;
Bạn có thể tạo trên Form hiệu hữu của bạn 2 Page;
1 Page chứa toàn bộ các control của bạn trên form; 1 Page khác chứa 3 Control của mình & đi kèm theo nó là trang tính 'S01' để làm nguồn cho 3 cái ComboBox ở trang này

Nếu không tự ên được, bạn đành chờ đến cuối tuần, nha.

Về tạo 2 Pages trên form, bạn có thể tham khảo thêm tại: https://www.giaiphapexcel.com/diend...ếm-và-sửa-dữ-liệu-cho-form.93838/#post-877026
 
Upvote 0
Bạn chưa nên xài 2 Form để nhập dữ liệu, vì trình của bạn chưa tới;
Bạn có thể tạo trên Form hiệu hữu của bạn 2 Page;
1 Page chứa toàn bộ các control của bạn trên form; 1 Page khác chứa 3 Control của mình & đi kèm theo nó là trang tính 'S01' để làm nguồn cho 3 cái ComboBox ở trang này

Nếu không tự ên được, bạn đành chờ đến cuối tuần, nha.

Về tạo 2 Pages trên form, bạn có thể tham khảo thêm tại: https://www.giaiphapexcel.com/diendan/threads/giúp-em-viết-code-tìm-kiếm-và-sửa-dữ-liệu-cho-form.93838/#post-877026[/QUOTE
cảm ơn bác rất nhiều. em sẽ nghiên cứu để cố gắng hoàn thiện.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom