Khống chế cập nhật Dữ liệu từ Form

Liên hệ QC

namkhanh.dangtran

Thành viên mới
Tham gia
5/3/11
Bài viết
17
Được thích
8
Em có ví dụ này muốn nhờ các cao thủ xem và hoàn thiện dùm. Em không nghĩ được code phải viết thế nào nữa!
 

File đính kèm

  • FORM.rar
    80.3 KB · Đọc: 89
Trùng mã

Chào các bạn!
Mình có chút vấn đề khi thiết kế form này nhờ các bạn giúp dùm nhé.
Cám ơn các bạn nhiều!
 

File đính kèm

  • KE TOAN.rar
    66.3 KB · Đọc: 20
Upvote 0
Nhờ lập công thức Báo trùng mã

Chào các bạn!
Mình nhờ các bạn hoàn thiện dùm form này nhé:
1/ Tại form nhà cung cấp nếu nhập trùng mã sẽ báo lỗi và hiện các thông tin khách hàng đã tồn tại tương ứng với các textbox trên form.
2/ Ghi vào các dòng tương ứng bên sheet ma.
cám ơn các bạn nhiều!!!
 

File đính kèm

  • KE TOAN.rar
    66.3 KB · Đọc: 33
Lần chỉnh sửa cuối:
Upvote 0
Khi chờ các cao thủ trả lời mình xin gửi bạn 1 ví dụ tại mình thấy file bạn nhiều quá nên mình không dám sửa mình dùng countif để tìm số trùng cái này có thể dùng phương thức find cũng được
 

File đính kèm

  • Baotrung.xls
    42 KB · Đọc: 27
Upvote 0
Chào các bạn!
Mình nhờ các bạn hoàn thiện dùm form này nhé:
Có 1 vấn đề mà bạn mở 2 topic khác nhau, tôi đã gom cả 2 vào đây và chỉ link cho bạn xem các form mẫu bài trên, bạn lại mở topic thứ 3.
Hay là bạn lại muốn nhờ làm sẵn từ A đến Z chứ không muốn tham khảo form có sẵn tương tự?
 
Lần chỉnh sửa cuối:
Upvote 0
Tạo nhiều ô trên Form để nhập liệu

Mình có file 1 này muốn hỏi các bạn: Có cách nào mình có thể tạo các ô trên Form để có thể nhập liệu cùng một lúc?
 

File đính kèm

  • Book1.xls
    28.5 KB · Đọc: 22
Upvote 0
Mình có file 1 này muốn hỏi các bạn: Có cách nào mình có thể tạo các ô trên Form để có thể nhập liệu cùng một lúc?
Thì trên sheet đang có sẳn nhiều cột nhiều dòng đấy, nhập trực tiếp vào luôn đi. Form trong trường hợp này là vô ích
Còn nếu "quá thích" form thì dùng SpreadSheet, cũng nhiều cột nhiều dòng
 
Upvote 0
đúng như a Ndu viết:
bài này tốt nhất ko dùng from vì dùng from sẽ mất thời gian nhập liệu ( phải kick vào save mỗi khi nhập xong)phoặc bạn muốn file của bạn pro hơn thì dùng from
 
Upvote 0
ngocdak đã viết:
Mình có file 1 này muốn hỏi các bạn: Có cách nào mình có thể tạo các ô trên Form để có thể nhập liệu cùng một lúc?

Để trả lời 1 lần cho tất cả các nick hỏi về form nhập liệu:
- Tránh nhập trùng
- Nhập nhiều dòng
- nhập ngày tháng trên form
- ...

Tôi tạo 1 form nhập liệu với code sơ đẳng nhất:
- Dùng CountIf chống nhập trùng
- Dùng For next
- Ghi từng giá trị xuống từng cell
- Xoá từng textbox sau khi ghi

Hy vọng sau bài này không ai phải tạo nick mới để hỏi về vấn đề này nữa.

Dùng file của NHDK, chắc là cùng tác giả. (Việc nhận xét nick này rất đơn giản, đọc sơ qua nội dung bài, đọc giọng văn, nhìn sơ qua file là biết ai là tác giả và có thể kết luận nick của ai.)

Các vấn đề cần lưu ý:

Tạo ra 1 đống textbox phải biết quản lý chúng:

- Đặt tên textbox theo nhóm và theo thứ tự, nếu không làm sao quản lý?
- TabStop phải theo thứ tự. Chứ không, nhập liệu 1 ô, enter, không biết con trỏ chạy đi đằng nào.

Những chuyện rất cơ bản và sơ đẳng như vậy mà không biết nữa thì thôi. Mất nửa tiếng để làm 2 việc này, chứ code chỉ quẹt quẹt mấy nhát là xong.
 

File đính kèm

  • FormNL.xls
    54 KB · Đọc: 65
Upvote 0
Tôi tạo 1 form nhập liệu với code sơ đẳng nhất:
- Dùng CountIf chống nhập trùng
- Dùng For next
- Ghi từng giá trị xuống từng cell
- Xoá từng textbox sau khi ghi
Có 1 lỗi nhỏ trong form này sư phụ à! Đó là nếu mở form mà không làm gì cả, bấm nút Thoát nó cũng... "cằn nhằn"
Việc nhận xét nick này rất đơn giản, đọc sơ qua nội dung bài, đọc giọng văn, nhìn sơ qua file là biết ai là tác giả và có thể kết luận nick của ai.
Cũng có khi là "nhiều" người nhưng cùng thầy
Ẹc... ẹc...
 
Lần chỉnh sửa cuối:
Upvote 0
Có 1 lỗi nhỏ trong form này sư phụ à! Đó là nếu mở form mà không làm gì cả, bấm nút Thoát nó cũng... "cằn nhằn"

- Xoá code cho sự kiên Sophieu_Exit

- Thêm câu lệnh sau vào đầu code CommandButton1_Click:

If Len(SoPhieu) = 0 Then msgbox "So phieu khong duoc de trong!": SoPhieu.SetFocus: Exit Sub

Cũng có khi là "nhiều" người nhưng cùng thầy
Ẹc... ẹc...
Tính luôn cả những từ ngữ thường dùng trong câu và cách đặt câu, tính luôn phong cách hỏi "cơm" không nhận "gạo" và không chịu đọc link gợi ý, tính luôn cả thói quen đặt tên file, tính luôn thói quen "Pro" hiện form là dấu Application, ... thì có thể chắc 100% là 1 người.
 
Lần chỉnh sửa cuối:
Upvote 0
Theo giao diện mà bạn vừa đưa lên, tôi sửa lại, dùng SpreadSheet sẽ giúp ta đơn giản hóa code rất nhiều:

View attachment 60914


Với giao diện trên thì code chỉ cần vầy là đủ:

PHP:
Private Sub CommandButton1_Click()
  Dim sRng As Range
  Set sRng = Sheet1.Range("A65536").End(xlUp).Offset(1)
  With Me.Spreadsheet1.Range("A1").CurrentRegion
    If .Count > 1 Then
      sRng.Offset(, 0).Resize(.Rows.Count, 1).Value = SoPhieu.Text
      sRng.Offset(, 1).Resize(.Rows.Count, 1).Value = Ngay.Value
      sRng.Offset(, 2).Resize(.Rows.Count, 5).Value = .Value
    End If
  End With
End Sub
PHP:
Private Sub Spreadsheet1_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
  On Error GoTo ExitSub
  If Sh.Name = "Sheet1" Then
    If Target.Column = 3 Or Target.Column = 4 Then
      Sh.Cells(Target.Row, 5) = Sh.Cells(Target.Row, 3) * Sh.Cells(Target.Row, 4)
    End If
  End If
ExitSub:
End Sub
Đương nhiên bạn vẫn có thể cải tiến thế nào đó tùy ý, chẳng hạn để khống chế nhập trùng, bạn dùng sự kiện Spreadsheet1_SheetChange tại cột A, bằng cách dùng hàm COUNTIF hoặc dùng Dictionary Object
------------------------
Nói ngoài lề: Tôi cũng giống ý kiến viethoaiLê Duy Thương, tôi chỉ dùng Form khi tôi cảm nhận được sự cần thiết đến mức không thể nhập trực tiếp được... Nói thật, với form này, tôi chẳng thấy sự cần thiết của Form nó nằm ở chổ nào nữa (dợt code chơi cho vui thì chẳng nói làm gì) ---> Còn nếu làm form chỉ đê cho nó.. PRO hơn thì thôi... miễn đi

Anh ơi, em đã tải OWC11 về và cài nó rùi. Nhưng vẫn không được. Em đã diệt vi rút rùi mà không được nữa. Không biết sao nữa? Em dùng cả 2 office(2003 và 2007).
 
Upvote 0
Web KT
Back
Top Bottom