pherotao > 30-11-17, 03:22 PM
(30-11-17, 02:07 PM)advnamk Đã viết: Anh tranthanhan1962 giúp bạn nhiệt tình rồi bạn.
Để học về VBA hay DAO cần có nhiều thời gian, để có 1 phần mềm hoàn hảo bạn cần tham khảo thêm "Phân tích thiết kế hệ thống" nữa.
Để chỉ lưu dữ liệu khi subform có dữ liệu, tránh bị sưả nhầm, xóa nhầm giống như mình viết lên giấy ấy thì bạn lên lập 1 bảng tạm. Khi nhập phiếu mới nó sẽ lưu trên bảng tạm này, khi nhấn "Ghi" ta viết hàm kiểm tra điều kiện nếu đủ điều kiện có số phiếu, hóa đơn có giá trị mới cho lưu, nếu không sẽ thông báo các trường thiếu và không lưu.
VD
Ghi click
if is null MaHD or is null ngày or is null MaKH or is null MaNV then
Msgbos "Bạn chưa nhập đủ dữ liệu. Xin kiểm tra lại"
else
Call Saverecord 'Saverecord là 1 hàm do ta tự viết.
end if
Khi nấn nút "Xem" ta viết hàm đề copy phiếu qua bảng tạm này để ta chỉnh sửa, và ta nhấn "Ghi nó mới lưu lại. Tương tự nếu ta nhấn nút "Xóa" ta cũng viết hàm để xóa phiếu.
Bạn cứ mạnh dạn viết bài chỗ nào khúc mắc đưa lên đây. mọi người giúp.
tranthanhan1962 > 30-11-17, 10:14 PM
(30-11-17, 03:22 PM)pherotao Đã viết: Dạ, mấy cái đó thì mình đã làm qua rồi, chạy ok hết. Cho đến 1 ngày, mình phát hiện ra rằng: Form Nhập Liệu chưa thực sự hoàn hảo lắm. Cũng tìm tòi trên google nhưng vẫn chưa thấy có ai "từng bị" như mình. Rồi anh tranthanhan1962 có hướng dẫn unboundform nhưng cũng chưa đáp ứng được (nhưng mình thử qua unboundform thấy rất hay và đặc sắc). Tuy nhiên, đúng như anh/chị trên diễn đàn có nói là cố gắng tìm tòi trên này để học hỏi. Thú thật, học online kiểu này chỉ có code và file mẫu thì may ra mới hiểu, chứ nhiều khi xem, ko có thầy - cô bên cạnh chỉ dẫn thì rất là khó tiếp thu.Nói rõ cho bạn vấn đề này luôn. Bạn không thể học online trên forum được. Không chỉ trên forum http://thuthuataccess.com mà bất kỳ dạng trang web forum nào trên thể giới, bởi gì forum site là diễn đàn. Chỉ có các learning site mới là những trang web dạy học thực thụ. Khi tham gia forum bạn bắt buộc phải có các hiểu biết cơ bản để khi được hỗ trợ bạn vận dụng các hiểu biết cơ bản của mình để biến sự hỗ trợ đó thành "thành phẩm" của mình. Còn nếu bạn chưa rành ABC mà lên forum nhờ chiếu hữu dạy làm thơ thì thực sự "đời không như là mơ".
Rất cảm ơn bạn đã góp ý!
pherotao > 30-11-17, 11:07 PM
maidinhdan > 30-11-17, 11:51 PM
(29-11-17, 08:55 PM)pherotao Đã viết: Anh maidinhdan ơi, có 1 trục trặc nhỏ trong code mà anh viết gửi em như sau:
1. Khi nhấn "Không", nó có thi hành xóa dữ liệu nhưng hiển thị trên form là #Deleted [img]]http://www.mediafire.com/file/j1cp4fs8fyrvnso/MAIN-SUB.jpg[/img], mặc dầu em thấy anh có thêm lệnh Me.Refresh;
2. Anh gõ thử 1 từ nào đó tại ô "Hóa Đơn", sau đó a nhấn "Không", nó có cảnh báo nhưng chưa xóa; nhấn "Không" lần 2 nó mới xóa và hiện ra chữ #Deleted.
3. Nếu Nhập đầy đủ thông tin trên mainForm và subForm thì khi nhấn "Không" thì nó đứng luôn (thay vì nó sẽ không lưu những gì mình đã nhập trước đó).
4. Khi nhập đầy đủ mainForm, subForm để trống, nhấn nút "Ghi", chẳng những nó không cảnh báo mà còn tự lưu thông tin vô T_HoaDon_NX luôn.
Nhờ anh xem lại dùm em ạ! Chân thành cảm ơn!
http://www.mediafire.com/file/j1cp4fs8fy...IN-SUB.jpg[/img]]http://www.mediafire.com/file/j1cp4fs8fyrvnso/MAIN-SUB.jpg[/img][/url]
pherotao > 01-12-17, 01:02 PM
maidinhdan > 01-12-17, 08:47 PM
(01-12-17, 01:02 PM)pherotao Đã viết: Vẫn không đạt anh maidinhdan ơi. Cụ thể như sau:
1. Khi "Thêm mới", đúng là có hiện ra thông báo "nhập thông tin chưa đầy đủ" nhưng nó vẫn cho lưu (lưu vô T_HoaDon_NX);
2. Khi "Sửa", khi mình bấm vào listbox (trên mainForm) để duyệt Hóa Đơn cần sửa thì, lúc đầu nó hiển thị ngay thông tin Hóa đơn, đến khi sửa xong (ví dụ: bấm đổi tên Nhân Viên) ấn nút "Lưu" thì nó lại cảnh báo "... ... ..." và trên mainForm lại hiện ra 1 thông tin của Hóa đơn khác. Rốt cuộc, nó cho 2 lựa chọn là: Lưu hay là Xóa, nếu Lưu: nó ko cho lưu những gì mình đã sửa; nếu Xóa, nó xóa luôn những thông tin đã nhập hoàn chỉnh.
3. Khi ấn xóa, mặc dù trên form đã ko còn hiện tượng #Deleted, nhưng trên listbox nó vẫn còn #Deleted.
Nhờ anh maidinhdan tiếp tục hộ e ạ!
pherotao > 01-12-17, 09:58 PM
ongke0711 > 01-12-17, 10:23 PM
pherotao > 01-12-17, 11:09 PM
tranthanhan1962 > 02-12-17, 03:42 AM
Private Sub Listbox (3)AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Mã Hóa Đơn] = '" & Me![Listbox (3)] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub